前端工具集(8) -- 兼容IE的脚本加载器

前段时间在做pc内嵌页的时候,有遇到过异步加载语言文件,并且因为有兼容到XP系统,即IE6内核。所以就写了一个兼容IE6文档模式打开的脚本加载器。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/**
* 脚本加载器 (兼容ie6,兼容文档系统打开方式)
*/
function LoadScript (url,successCb){
var header = document.getElementsByTagName("head")[0];
var loader = document.createElement('script');
// 成功事件
var successed = function(){
successCb && successCb();
};
if (loader.readyState) { //IE
loader.onreadystatechange = function(){
if (loader.readyState == "loaded" || loader.readyState == "complete") {
loader.onreadystatechange = null;
successed();
}
}
} else { //Others
loader.onload = function(){
successed();
};
}
// 加载语言文件
loader.src = url;
header.appendChild(loader);
};

调用的话:

1
2
3
4
var path = baseUrl + "lang/en.js";
LoadScript(path, function(){
console.log("load lang success");
});