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");
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)); }