美文网首页
JS异步加载

JS异步加载

作者: 嘤嘤嘤998 | 来源:发表于2019-02-11 17:24 被阅读0次
1. defer 属性

在<script> 元素中设置 defer 属性,等于告诉浏览器立即下载,但延迟执行。defer属性只适用于外部脚本文件

<!DOCTYPE html>
<html>
<head>
    <script src="test1.js" defer="defer"></script>
    <script src="test2.js" defer="defer"></script>
</head>
<body>
<!-- 这里放内容 -->
</body>
2. async 属性
<head>
    <script src="test1.js" async></script>
    <script src="test2.js" async></script>
</head>
3.动态创建DOM方式
//这些代码应被放置在</body>标签前(接近HTML文件底部)
<script type="text/javascript">  
   function downloadJSAtOnload() {  
       varelement = document.createElement("script");  
       element.src = "defer.js";  
       document.body.appendChild(element);  
   }  
   if (window.addEventListener)  
      window.addEventListener("load",downloadJSAtOnload, false);  
   else if (window.attachEvent)  
      window.attachEvent("onload",downloadJSAtOnload);  
   else 
      window.onload =downloadJSAtOnload;  
</script>  
4.使用jQuery的getScript()方法
$.getScript("outer.js",function(){//回调函数,成功获取文件后执行的函数  
      console.log("脚本加载完成")  
});
5.使用setTimeout延迟方法
6.让JS最后加载

把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度

async vs defer


async属性的脚本都在它下载结束之后立刻执行,但执行顺序不能控制,先下载完的先执行

defer属性的脚本都是在html解析完毕之后,按照原本的顺序执行

相关文章

  • js加载同步还是异步? JSONP原理?

    1、浏览器端的js加载默认是同步还是异步?同步,可以人为设置异步;async让js异步加载,需要每个script标...

  • java_Ajax

    Ajax:(asynchronous js and xml) 异步的js和xml 指的是一种交互方式 异步加载,客...

  • 系统源码简析

    同步加载 异步加载 页面的懒加载,只针对vue文件,js文件被放到app.js中了, 比如 share.js。 a...

  • js面试题-3(ajax)

    1. 阐述一下异步加载 JS 异步加载的方案: 动态插入script标签 通过ajax去获取js代码,然后通过e...

  • JS异步加载

    最近做一个H5项目,一套代码跑在多个app webview,这个地方涉及到很多js文件的引入和加载,做了一个js加...

  • JS异步加载

    1. defer 属性 在 元素中设置 defer 属性,等于告诉浏览器立即下载,但延迟执行。defer属性只适...

  • 网页优化

    1. 资源代码压缩合并,减少HTTP请求 2. 非核心代码的异步加载 异步加载方式:动态脚本加载(js创建SCRI...

  • Review JavaScript

    红宝书 综合 script加载js会阻塞渲染,标签中 fefer 指异步加载js,在文档load之后按顺序执行。a...

  • JavaScript补充

    01-延迟和异步加载JS 如何延迟加载JS:defer defer:js脚本可以延迟到文档完全被解析后执行 如何异...

  • require.js 的使用

    require.js 优点:1.异步加载文件 防止 html页面引入多个js 文件。 ...

网友评论

      本文标题:JS异步加载

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