zoukankan      html  css  js  c++  java
  • css,js加载阻塞页面渲染的理解

    页面要等所有的css加载解析完毕后才会渲染,

    css 的加载会阻塞后面dom的解析,

    js的加载和执行后阻塞后面dom的解析

    defer 的script 的下载不会阻塞dom的解析,defer的script下载完毕后会按顺序执行,且在DOMContentLoad 触发前执行,当所有的defer下载完毕后,再按顺序执行。ie10及以下可能不会按顺序执行

    async 的sciprt 的下载不会阻塞dom的解析,async的scipt下载完毕后不一定会按顺序执行,且执行时间在domContentLoad触发前后都有可能 。在合适的时间执行 ie10及支持

    require js 就是使用的 async动态添加的脚本

    require js 遵循 amd 即异步的模块定义,所有的模块都是异步加载的,使用前必须将所有的模块提前加载

    seajs 遵循的是cmd 即通用的模块定义,模块可以预先加载,也可以异步加载,也在需要的时候同步加载。

    综合上面的一些,对于页面首屏展示的优化建议是

    首屏的css最好直接放在style内,然后js放在页面底部,或者使用ansy或defer

  • 相关阅读:
    js练习 导航栏下拉子菜单
    js练习 DIV做下拉列表
    js添加事件
    HTML5音频和视频
    HTML5表单元素拓展
    document对象
    DOM
    函数
    常用的函数及递归
    JavaScript数组示例
  • 原文地址:https://www.cnblogs.com/chillaxyw/p/9494258.html
Copyright © 2011-2022 走看看