web页面从输入地址到页面显示的加载过程

1、用户打开URL链接(域名)

2、浏览器查询的URL的DNS地址(IP地址)

3、DNS服务器查询到IP之后返回给浏览器

4、浏览器根据返回的IP地址向web服务器发起请求

5 、web服务器接收请求并处理,之后返回相应的数据(HTML、css、js等信息)给浏览器

6、浏览器接收到返回的数据之后便开始解析数据过程如下:
   a:解析HTML -- 语法分析

   B:构建DOM树

   C:解析CSS文件

   d:布局DOM节点

   浏览器在此过程中还会遇到一些引用的图片,此时还会继续向服务器发出请求,但不会发生阻塞,而是继续往下执行代码;当然还有可能会遇到的JavaScript的标签并执行,此时如果需要发出请求的话,浏览器会发生阻塞,知道请求,解析,执行完了之后才会继续往下执行代码;(原因是浏览器防止JS脚本中出现修改DOM的情况导致需要重新布局DOM节点)

   e:绘制DOM节点(解析到HTML的结束符)---完成

   f:回流,简单来说该步骤的执行是由于dom节点受到了js或者是css的影响导致页面发生重绘。

当页面已经渲染完成之后,再修改script标签的src是不会进行再次执行的,虽然是成功修改了src的属性值。如果想修改script的src属性值的话,建议使用动态创建的方式,创建完成之后是会执行该路径下的js脚本文件的。

let Script = document.createElement("script");
document.body.appendChild(Script);
Script.src = "js/test/test2.js";

猜你喜欢

转载自blog.csdn.net/joyvonlee/article/details/84373710