异步加载js的方式
发表于|更新于
|字数总计:250|阅读时长:1分钟|阅读量:|
异步加载js的三种方式
1.defer 异步加载
特点 :只有IE适用,需等到dom文档全部解析完(dom树生成完,才会被执行)
1
| <script type="text/javascript" src="xxx.js" defer></script>
|
2.async异步加载
特点:加载完就执行,async 只能加载外部脚本,不能把js代码写在script标签里
1
| <script type="text/javascript" src="xxx.js" async></script>
|
3.动态创建script标签
特点:避免HTML文件过大,提高页面加载速度
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
export function loadScript(url,callback){ const script = document.createElement('script'); script.type = "text/javascript";
if(script.readyState){ script.onreadestatechange = function(){ if(script.readyState === "loaded" || script.readyState === "complete"){ callback() } } }else{ script.onload = function(){ callback() } } script.src = url; document.head.appendChild(script); }
|