原理:这个跟XML Eval的方式差不多。也是通过XMLHttpRequest的方式来加载外部的Javascript文件,不过之后是动态生成一个script标签,并设置script标签的text属性为XHR返回的Javascript代码,这种方式也没有阻塞后面的资源的下载。HTTP瀑布图效果图如下(还可以通过firebug来查看):

var createXHR = function(){
var xhr = false;
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xhr;
}
var xhr = createXHR();
xhr.open("GET", "event.js", true);
xhr.onreadystatechange = function(){
if (xhr.readyState === 4 || xhr.status === 200) {
var script = document.createElement("script");
document.getElementsByTagName("head")[0].appendChild(script);
script.text = xhr.responseText;
}
}
xhr.send(null);
///////////////////////////////////////////////////////////////////////////////////////////////////////