首页 > 其他 > 详细

前端页面性能优化

时间:2021-01-22 09:49:58      阅读:21      评论:0      收藏:0      [点我收藏+]

一、Js 脚本文件

  1、脚本位置

    浏览器在解析到 <body> 标签之前,不会渲染页面的任何部分。把脚本放到顶部将会导致明显的延迟。

    因此推荐所有的 <script> 标签尽可能放到 <body> 标签的底部,以尽量减少对整个页面下载的影响。

  2、组织脚本

    把多个 js 文件合并成一个,这样只需要引用一个 <script> 标签,可以减少性感的消耗。

  3、使用 defer 加载 js

    带有 defer 属性的 <script> 标签可以放置在文档的任何位置,对应的 javascript 文件将在页面解析到 <script> 标签时开始下载,但不会执行,直到DOM加载完成。

    它不会阻塞浏览器的其他进程,因此这类文件可以与页面中的其它资源并行下载。

    任何带有 defer 属性的 <script> 标签的元素在 DOM 完成加载之前都不会被执行,无论内嵌还是外链。

    defer 属性仅当scr属性声明时才生效。

    <script type="text/javascript" src="file.js" defer></script>

  4、动态加载js脚本元素

    function loadScript(url,callback){

      var script=document.createElement("script")

      script.type="text/javascript"

      if(script.readyState){ //ie

        script.onreadystatechange=function(){

          if(script.readyState==="loaded" ||  script.readyState==="complete"){

            script.onreadystatechange=null

            callback()

          }

        }

      }else{

        script.onload=function(){

          callback()

        }

      }

      script.src=url

      document.getElementByTagName("head")[0].appendChild(script)

    }

  5、XMLHttpRequest 脚本注入

    创建一个 XHR 对象,使用它下载 javascrip 文件,最后通过创建动态 <script> 标签元素将代码注入到页面中。

    注意:下载的 JavaScript 文件必须与所请求页面在同一个域,这样意味 JavaScript 文件不能通过 CDN 下载。

  6、使用 LazyLoad 类库

  7、LABjs

  

前端页面性能优化

原文:https://www.cnblogs.com/hq2020/p/14311180.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!