本文实例讲述了异步安全加载javascript文件的方法。分享给大家供大家参考。具体如下:
使用方法:
rush:js;">
(function() {
__safeLoadScript("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js",function() {
alert(jQuery);
});
})();
JavaScript实现代码:
rush:js;">
window.__safeLoadScript = function(src,callback) {
function addEvent(obj,type,fn) {
if (obj.attachEvent) {
obj['e' + type + fn] = fn;
obj[type + fn] = function() { obj['e' + type + fn](window.event); }
obj.attachEvent('on' + type,obj[type + fn]);
} else
obj.addEventListener(type,fn,false);
}
function async_load(src,callback) {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
var protocol = (("https:" == document.location.protocol) ? "https://" : "http://");
s.src = protocol + src;
var x = document.getElementsByTagName('script')[0];
x.parentNode.insertBefore(s,x);
s.onload = s.onreadystatechange = function() {
if(callback && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
callback();
}
};
}
addEvent(window,"load",function() {
async_load(src,callback);
});
};
希望本文所述对大家的javascript程序设计有所帮助。
原文地址:https://www.jb51.cc/js/53338.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。