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


[html]  view plain copy print ?
  1. if(!importScripts){  
  2. var importScripts=(function(globalEval){  
  3. var xhr=new XMLHttpRequest;  
  4. return function importScripts(){  
  5. var  
  6. args=Array.prototype.slice.call(arguments)  
  7. ,len=args.length  
  8. ,i=0  
  9. ,meta  
  10. ,data  
  11. ,content  
  12. ;  
  13. for(;i<len;i++){  
  14. if(args[i].substr(0,5).toLowerCase()==="data:"){  
  15. data=args[i];  
  16. content=data.indexOf(",");  
  17. meta=data.substr(5,content).toLowerCase();  
  18. data=decodeURIComponent(data.substr(content+1));  
  19. if(/;\s*base64\s*[;,]/.test(meta)){  
  20. data=atob(data);  
  21. }  
  22. if(/;\s*charset=[uU][tT][fF]-?8\s*[;,]/.test(meta)){  
  23. data=decodeURIComponent(escape(data));  
  24. }  
  25. }else{  
  26. xhr.open("GET",args[i],false);  
  27. xhr.send(null);  
  28. data=xhr.responseText;  
  29. }  
  30. globalEval(data);  
  31. }  
  32. };  
  33. }(eval));  
  34. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值