弘帝企业智能建站系统交流平台

 找回密码
 立即注册
查看: 2872|回复: 1

【JS】异步加载JS的多个方法

[复制链接]
发表于 2016-12-14 07:31:28 | 显示全部楼层 |阅读模式
方法一:sctipt异步加载
function loadJScript(url) {
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = url
    document.body.appendChild(script);
}

window.onload=loadJScript(url);

方法二:添加到head标签中
var script = document.createElement("script");
script.src = "all.js";
document.documentElement.firstChild.appendChild(script);//添加到head标签中

方法三:方法二延迟加载JS
window.onload = function(){
    var script = document.createElement("script");
    script.src = "lazy.js";
    document.documentElement.firstChild.appendChild(script);
}

方法四:按需加载JS
require("extra.js",function(){
    //……
})
function require(file,callback){
    var script = document.getElementsByTagName("script")[0];
    var newjs = document.createElement("script");

    newjs.onload = function(){
        callback();
    };

    newjs.src = file;
    script.parentNode.insertBefore(newjs,script);
}

方法六:利用IMG预加载JS
new Image().src = "preload.js";

方法七:利用OBJECT预加载JS
var obj = document.createElement("object");obj.data = "preload.js";document.body.appendChild(obj);

方法七:不推荐使用
使用XHR请求载入脚本,并使用eval()将其转换为字符串。
但是这种方法受到XHR同域限制,并且使用了eval()这种不好的模式、

使用defer和async属性,但并不能在所有浏览器上都生效
http://www.growingwiththeweb.com ... fer-attributes.html
回复

使用道具 举报

 楼主| 发表于 2017-1-7 22:34:29 | 显示全部楼层
【jQuery】使用 jQuery 异步加载 JavaScript 脚本
http://wh.ac.cn/forum.php?mod=vi ... d=480&fromuid=1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|弘帝企业智能建站系统 ( 皖ICP备07503252号 )

GMT+8, 2024-4-30 09:49 , Processed in 0.083688 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表