如何显示网页的加载过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何显示网页的加载过程相关的知识,希望对你有一定的参考价值。

    加载过程显示会复杂些,网页加载的详细步骤拆分:
      1、用户打开url链接
      2、浏览器查询url的dns地址
      3、提交url请求到服务器端
      4、服务器端处理
      5、传输处理好的html文本内容到浏览器
      6、浏览器解析html,并加载css,js,图片等内容
      7、加载完成,用户看到完整的页面内容
      其中第六步的浏览器解析过程将是前端优化最直接、有效的地方,该过程的详细过程为:接受网络数据-》将二进制码变成字符-》将字符变为unicode code points.-》tokenizer -》tree constructor -》DOM ready -》Window ready。前端编程,主要理解的是tree constructor -> dom ready -> window ready的流程。

    浏览器加载和渲染html的顺序
      1. IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。
      2. 在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。
      3. 如果遇到语义解释性的标签嵌入文件(JS脚本,CSS样式),那么此时IE的下载过程会启用单独连接进行下载。
      4. 样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。
      5. JS、CSS中如有重定义,后定义函数将覆盖前定义函数。

     JS的加载(js是单线下载和执行的)
      1. 不能并行下载和解析(阻塞下载)。
      2. 当引用了JS的时候,浏览器发送1个js request就会一直等待该request的返回。因为浏览器需要1个稳定的DOM树结构,而JS中很有可能有
      代码直接改变了DOM树结构,比如使用 document.write 或 appendChild,甚至是直接使用的location.href进行跳转,浏览器为了防止出现JS修
      改DOM树,需要重新构建DOM树的情况,所以 就会阻塞其他的下载和呈现.

参考技术A 网页的加载过程需要尽可能小的流量打开,如果打开的流量太大,时间长留不住客户 参考技术B

你可以下载一个火狐浏览器,然后按F12选择网络,可以查看网络加载速度!

有帮助。望采纳!


参考技术C 你说的加载过程指的是什么 参考技术D 对于这个问题我好像没注意过,毕竟这好像一直是浏览器在加载。
1,如果你是想在一个网页中显示从进入网页到加载完毕,我能想到的就只有ajax,因为她有很多返回状态码,通过状态来判断加载情况,现在网络,解析网页都比较快显不显示没多大意义,有需求除外。
2,如果你想看浏览器加载过程请打开ie按F12;
这个问题简单了看没什么好看的,复杂的想涉及服务端,网络协议,客户端甚至网页设计本身也有影响,所以你们怎么看。
第5个回答  2016-05-06 鼠标右键检查,我用的是谷歌浏览器

如何在javascript中单击按钮重新加载网页,但在重新加载调用函数后

【中文标题】如何在javascript中单击按钮重新加载网页,但在重新加载调用函数后【英文标题】:How to reload a webpage with a button click in javascript but after reload calling a function 【发布时间】:2016-09-06 00:52:20 【问题描述】:

我正在制作一个 Flash 画廊,我希望每次在页面上显示新的 Flash 时重新加载页面。我想这样做是因为我想增加每次用户访问显示的广告数量。按钮单击成功重新加载页面,但阻止未来代码触发,这就是显示 Flash 的内容。

var c = 0;
var flashcon, test, temp;

// Function for inital flash page to work properly
function init() 
    flashcon = document.getElementById('flashcon');

    // Scripts for the buttons
    document.getElementById('back').onclick = function () 
        location.reload(false);
        if (c == 0) 
            c = paths.length;
        
        c--;
        displayFiles();
        download();
    

    document.getElementById('next').onclick = function () 
        location.reload(false);
        if (c == paths.length - 1) 
            c = -1;
        
        c++;
        displayFiles();
        download();
    

    document.getElementById('rand').onclick = function () 
        location.reload(false);
        temp = c;
        while (c == temp) 
            c = Math.floor(Math.random() * paths.length);
        
        displayFiles();
        download();
    

    // Scripts for the left and right arrow key functionality
    document.addEventListener('keydown', function (e) 
        if (e.which == 37) 
            $("#back").click();
        
    );

    document.addEventListener('keydown', function (e) 
        if (e.which === 39) 
            $("#next").click();
        
    );

【问题讨论】:

【参考方案1】:

您需要存储一个变量。这可能就是你想要的:https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API

【讨论】:

【参考方案2】:

在重新加载之前在 localStorage 中设置一个标志然后在初始化时检查值并正常调用您的函数或初始化。

【讨论】:

我不熟悉如何做到这一点,您有任何阅读材料的链接吗?我很乐意阅读。 这应该有助于***.com/questions/3262605/… 所以我应该将值设置为自动触发功能的值,然后当触发该功能时,它会将值重置为 0,直到再次选择按钮 在你的 init 中应该有一个 if 语句来检查 localStorage 的值,如果有值,然后调用你想调用的函数。如果没有则正常初始化。其次,在您重新加载页面之前,您在 localStorage 中设置了一个值,因此当重新加载时点击 init 时,它会在那里查找值,它将执行您想要的功能。

以上是关于如何显示网页的加载过程的主要内容,如果未能解决你的问题,请参考以下文章

网页加载不完整如何解决?

怎么让网页加载完成后再显示

我如何只加载网页的正文

如何获取动态加载的网页内容

如何在javascript中单击按钮重新加载网页,但在重新加载调用函数后

如何判断网页是不是加载完毕