JavaScript importScripts 之实现和用法

JavaScript importScripts 之实现和用法

importScripts用于在一个js里面包含其他的js文件。相当于C里面的#include。利用importScripts这个强大的利器,我们就可以像C/C++/Java一样写js了。比如我们用js写了几个文件A.js,B.js,C.js,它们分别位于不同的路径下面。当我们在D.js中需要引入上面3个js文件的时候,就需要importScripts这个强大的利器了:

// D.js:

importScripts("script/A.js", "B.js", "http://helooooooo/C.js");

或者:

importScripts("script/A.js");

importScripts("B.js");

importScripts("http://helooooooo/C.js");

在未使用importScripts的时候我通常是这样引入js代码的:

function includeScript(file) {
document.write('<script type="text/javascript" src="'+file+'"></script>');
}

includeScript("script/A.js");

includeScript("B.js");

includeScript("http://helooooooo/C.js");

好了,下面是importScripts 的完整的js代码:

cheungmine 2011-11


if(!importScripts){
var importScripts=(function(globalEval){
var xhr=new XMLHttpRequest;
return function importScripts(){
var
args=Array.prototype.slice.call(arguments)
,len=args.length
,i=0
,meta
,data
,content
;
for(;i<len;i++){
if(args[i].substr(0,5).toLowerCase()==="data:"){
data=args[i];
content=data.indexOf(",");
meta=data.substr(5,content).toLowerCase();
data=decodeURIComponent(data.substr(content+1));
if(/;\s*base64\s*[;,]/.test(meta)){
data=atob(data);
}
if(/;\s*charset=[uU][tT][fF]-?8\s*[;,]/.test(meta)){
data=decodeURIComponent(escape(data));
}
}else{
xhr.open("GET",args[i],false);
xhr.send(null);
data=xhr.responseText;
}
globalEval(data);
}
};
}(eval));
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值