美文网首页
css和js的装载与执行

css和js的装载与执行

作者: d68caad2b350 | 来源:发表于2019-07-05 13:23 被阅读0次
html渲染过程

过程:

html是最先被传到客户端,将字节流转换成字符流,通过浏览器端的词法分析,将响应的语法分析成相应的token(将标签解析成对象),不断通过next token 添加到DOM树里去。当dom树和css树都有了才会生成渲染树。

因为我们的资源大部分都托管在CDN上,所以我们一般设置3-4个CDN域名,防止一个CDN域名的情况下,web浏览器外部请求数达到上限,导致没有做到所有资源的并发请求。

如果把css放在head中,可以避免无样式的闪烁,这样的话当dom树和css树都生成完成才会生成渲染树,再进行页面的渲染

html渲染过程的特点

1.顺序执行,并发加载,并发上限(对某个域名下的并发请求树是有上限的)

2.是否阻塞

3.依赖关系

4.引入方式

css阻塞

1)css head中引入会阻塞页面的渲染 2)css阻塞js的执行(在css加载完之前,后续的js不能执行,被阻塞)   3)css不阻塞外部脚本的加载

(如果css不阻塞页面渲染,那么开始会渲染一版初始样式,css加载后又加载一版新的,造成闪动,体验很不好,所以css需要阻塞页面渲染)

(如果css不阻塞js的执行,因为js中可能会有一些获取样式或者修改的内容,浏览器是需要计算的,也就是依赖css)

js阻塞

1)直接引入的js阻塞页面的渲染(没有用ansyc,defer)  2)js不阻塞资源的加载(预先扫描器,预资源加载器)  3)js顺序执行,阻塞后续js逻辑的执行(保持引入时的依赖关系)

(js会阻塞dom解析,如果js文件比较大,加上defer和ansyc之后不阻塞了)

(浏览器会提前看DOM的内容,如果碰到<link><script><img>会提前下载)

(每次碰到scripte标签时,页面都会渲染)

(js的下载和js的的执行都会阻塞页面的渲染,dom树解析到非异步的外联js时会阻塞住,在它加载且执行完之前,不会往下解析dom树)

相关文章

  • css和js的装载与执行

    过程: html是最先被传到客户端,将字节流转换成字符流,通过浏览器端的词法分析,将响应的语法分析成相应的toke...

  • Web性能优化-CSS和js的装载与执行

    一个网站在浏览器端是如何进行渲染的? 主要步骤就是图片上这些步骤.我们知道在html页面中把css 文件放到用li...

  • 前端性能优化:静态资源加载与优化

    css和js的装载与执行-HTML 页面加载渲染的过程 一个网站在浏览器端是如何进行渲染的呢? HTML渲染过程的...

  • css加载会造成阻塞吗

    结论: css不会阻塞js的解析 css会阻塞js的渲染 css会阻塞js的执行 如果页面中同时存在css和js,...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? 首先要区分css和js的执行顺序 html文件是自上而下的执行方式,但引...

  • JS的异步装载

    JS的装载和执行 首先,浏览器对JS的运行分两个特性:1)载入后马上执行;2)执行后会阻塞后面的内容(包括页面的渲...

  • html静态资源加载

    css css head中阻塞页面的渲染 css阻塞js的执行。 这个是真的。 当css正在加载的时候, js是不...

  • Javascript 装载和执行

    这是一篇转载的文章 首先,我想说一下Javascript的装载和执行。通常来说,浏览器对于Javascript的运...

  • JS相关概念

    CSS和JS在网页中的放置顺序是怎样的? html文件是自上而下的执行方式,但引入的css和javascript的...

  • JavaScript 程序设计——基础篇 1-6

    1.JS 介绍 与 JS 调试 HTML描述网页的内容 CSS描述网页的样式 HTML和 CSS可以静态页面...

网友评论

      本文标题:css和js的装载与执行

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