我推迟了在我的Joomla模板中加载一些js文件。这个很好用
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "/pathto.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
然而,我有十几个js文件要像这样加载,对于每个文件,我必须使用与上面相同的代码块,只是pathto.js有所不同。
我的Javascript能力简直是垃圾。是否可以将所有的js文件放入一个数组中,然后使用相同的代码块逐个遍历它们,而不必一遍又一遍地重复相同的代码块?
我想要像这样的东西
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = AN ARRAY OF JS FILES;
document.body.appendChild(element);
}
FOR EACH ITEM IN THE ARRAY
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
感谢你在这方面的帮助!
发布于 2014-11-21 18:07:02
实际上,循环应该在函数中。
下面是函数应该是什么(我还没有测试过它):
function downloadJSAtOnload() {
var scripts = ["script1.js", "script2.js", "script3.js"];
for (i = 0; i < scripts.length; i++) {
var element = document.createElement("script");
element.src = scripts[i];
document.body.appendChild(element);
}
}
https://stackoverflow.com/questions/27066190
复制相似问题