登风 2015-07-08 08:50 采纳率: 100%
浏览 1640

浏览器下载和渲染html顺序

这个问题一直困扰着我,求教!
找了一些资料:
浏览器加载显示html页面内容的顺序
其实浏览器加载显示html的顺序是按下面的顺序进行的:
1、IE下载的顺序是从上到下,渲染的顺序也是从上到下,下载和渲染是同时进行的。
2、在渲染到页面的某一部分时,其上面的所有部分都已经下载完成(并不是说所有相关联的元素都已经下载完)。
3、如果遇到语义解释性的标签嵌入文件(JS脚本,CSS 剑 敲创耸盜E的下载过程会启用单独连接进行下载。
4、并且在下载后进行解析,解析过程中,停止页面所有往下元素的下载。
5、样式表在下载完成后,将和以前下载的所有样式表一起进行解析,解析完成后,将对此前所有元素(含以前已经渲染的)重新进行渲染。
6、JS、CSS中如有重定义,后定义函数将覆盖前定义函数。

还是有些疑问,JS脚本在head里嵌入,此时body页面内容应该还没加载,先加载JS脚本,那DOM树应该还没构建,但JS脚本中要通过DOM去操作HTML。而且如果body页面内容加载好了再加载JS,那通过DOM又改变了html内容又不一样了!菜鸟求大神赐教!谢谢

  • 写回答

2条回答 默认 最新

  • threenewbee 2015-07-08 11:32
    关注

    浏览器的渲染是一个极其复杂的过程,这个需要大量的测试。
    js脚本的定义和执行是两个概念。你在head中写js代码,不等于它就被执行。你定义方法但是不调用它是不会执行的。

    评论

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记