美文网首页
JS相关概念

JS相关概念

作者: 魔王卡卡 | 来源:发表于2017-08-02 16:50 被阅读0次

CSS和JS在网页中的放置顺序是怎样的

CSS通过link标签引入,放置在<head>标签内。
JS放置在页面底部,通过<script>标签引入,放置在body的闭合标签之前。


解释白屏和FOUC

  • 白屏:
    对于chrome、IE等浏览器,页面渲染需要等到HTML页面DOM树和CSS的CSSOM树构建完毕后,两者结合形成render tree后,才对页面进行渲染绘制。
    当CSS文件放于页面底部,会影响CSS的加载时间,因此在CSS没有全部加载并形成render tree之前,页面都处于空白状态,会导致白屏;如果使用@import标签,即使CSS放于头部,也可能出现白屏现象。
    当JavaScript文件放于页面头部时,JavaScript会禁用并发加载,阻塞JavaScript后面内容的呈现及后面组件的下载,等到JavaScript文件全部加载完成后才会继续执行之后的代码,因此JavaScript文件放于头部也会导致页面白屏现象。
  • FOUC:
    对于Firefox浏览器,DOM树的构建与CSS的渲染时同步进行的。所以当CSS样式置于页面底部时,首先浏览器会对HTML的元素进行展示,当CSS全部加载完成后对样式进行修改,出现FOUS现象。
    如果把CSS样式放在底部,对于IE浏览器,在某些场景下(点击链接,输入URL,使用书签进入等),也会出现 FOUC 现象。

async和defer的作用是什么?有什么区别

async和defer是异步加载脚本的的属性。

<script async src="script.js"></script>
加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。同时出现几个具有async属性的js文件,async属性不保证按照它们的先后顺序执行。

<script deferc src="script.js"></script>
加载script.js文件后面的文档元素过程将和script.js的加载异步进行,但 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。


简述网页的渲染机制

  1. 解析 HTML 标签, 构建 DOM 树
  2. 解析 CSS 标签, 构建 CSSOM 树
  3. 把 DOM 和 CSSOM 组合成 渲染树 (render tree)
  4. 在渲染树的基础上进行布局, 计算每个节点的几何结构
  5. 把每个节点绘制到屏幕上 (painting)

相关文章

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? 解释白屏和FOUC async和defer的作用是什么?有什么区别 简述...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? css放在head中,用link标签引入: JS放在body中,且在所有...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? CSS要放头部head中的link标签内引入。js文件要放在 标签中,...

  • JS相关概念

    JavaScript 定义了几种数据类型? 哪些是原始类型?哪些是复杂类型? 判断一个变量是否是数字、字符串、布尔...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? css放到head标签内 js一般放到body尾部,因为js会涉及dom...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? 一般将css放置head里用包裹,也可以使用link标签引入。js一般使...

  • JS相关概念

    1,CSS和JS在网页中的放置顺序是怎样的? 网站加载的整个完整过程是:1、首先浏览器从服务器接收到html代码,...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? CSS写在HTML文件中的 标签内的 中,JS写在HTML中 标签...

  • JS相关概念

    1. CSS和JS在网页中的放置顺序是怎样的? css放在head标签内,防止渲染时出现白屏 js放在最后body...

  • JS相关概念

    1.CSS和JS在网页中的放置顺序是怎样的? css 一般放在head标签内,用 标签包裹,或者用link引入外部...

网友评论

      本文标题:JS相关概念

      本文链接:https://www.haomeiwen.com/subject/hylylxtx.html