0

我正在使用以下代码允许在我的网站上并行下载 JavaScript

var head  = document.getElementsByTagName("head")[0]; 

var sTag1 = document.createElement("script");
sTag1.type = sTag1.type = "text/javascript";
sTag1.src = "http://example.com/one.js";

var sTag2 = document.createElement("script");
sTag2.type = sTag2.type = "text/javascript";
sTag2.src = "http://example.com/two.js";

var sTag1 = document.createElement("script");
sTag3.type = sTag3.type = "text/javascript";
sTag3.src = "http://example.com/three.js";

head.appendChild(sTag1); 
head.appendChild(sTag2); 
head.appendChild(sTag3); 

然而,使用 YSlow,它表明即使one.js,two.jsthree.js正在并行下载 - 直到最后一个 JavaScript 完全下载后,图像才会加载。

我可以做些什么来防止由于我的 JavaScript 文件下载而阻止加载图像。

4

2 回答 2

1

</body>在标签正上方加载您的 Javascript 文件。

于 2010-04-15T21:42:48.567 回答
0

您从哪里触发该代码?因为您可以等待执行引用的代码,直到看到window.load事件,例如:

<script type='text/javascript'>
function loadMyScripts() {
    /* ...your loading code here...*/
}
window.onload = loadMyScripts; // Or use addEventListener/attachEvent to do it
</script>

在加载所有图像之前不会触发该window.load事件,因此您可以确保脚本不会妨碍您。当然,它也给用户留下了相当长的时间来开始对页面进行操作,因此您需要确保页面不需要该 JavaScript 才能正常工作。

于 2010-04-15T21:44:08.680 回答