浏览器的加载机制&白屏&FOUC演示

2019-07-29  本文已影响0人  fly_198e

浏览器和JavaScript的基础:

####### 网页是什么:
网页=Html+CSS+JavaScript;
Html:网页内容元素
CSS:控制网页样式;
JavaScript:操作网页内容,实现功能和效果

JavaScript的历史:

ECMAscript和JavaScript的关系:
JavaScript的引用:
<scrippt src="cssgo.js"> <script>

或者

<script>
alert(1);
</script>

浏览器的渲染机制:

从资源请求完成到页面的显示:
  1. 解析HTML字符串构建DOM树
  2. 解析CSS样式,产生CSSOM树
  3. 执行js脚本文件,js加载完成,通过DOM API 和 CSSOM API 来操作DOM树和CSSOM树
  4. 浏览器根据DOM树和CSSOM树构建渲染树(rendering tree),渲染树包括显示的节点和节点显示的样式信息,如果某个节点设置了样式 display: none,那么就不会在渲染树中显示,如果设置visibility:hidden渲染树中存在该节点,但不显示。
  5. 根据渲染树对每一个节点在页面上进行布局。(reflow)
  6. 遍历渲染树,为每一个节点绘制对应的样式,显示到屏幕。(repaint)


    浏览器渲染机制

关于Repaint和Reflow

什么是Repaint和Reflow:
Reflow的影响:
如何优化:

白屏&FOUC演示

FOUC(无样式内容闪烁)
白屏

关于CSS和JS的放置顺序:

加载异步:

<script src="script.js"> </script>
<script async src="script.js"></script>
<script defer src="script.js"></script>
defer和async:
上一篇 下一篇

猜你喜欢

热点阅读