我正在进行动态脚本调用,以在窗口的onload事件之前加载一些外部JS。这是示例代码。
var temp = document.createElement('script');
temp.type = 'text/javascript';
temp.async = temp.defer= true;
temp.src = "http://stevesouders.com/efws/iframe-empty.php?t==";
window.setTimeout(function(){document.getElementsByTagName('head')[0].appendChild(temp)},0);
这段代码在IE上运行完美(Window onload事件不等待动态脚本资源下载)。但是,它在Firefox上不起作用。 Window onload事件正在等待动态脚本资源下载。
有没有解决此问题的方法。您可以使用http://nidhisekhar.com/samples/async_script_call_settimeout.html链接查看IE和Firefox上的行为。我感谢您的帮助。
谢谢,
拉贾
最佳答案
尝试以下JavaScript函数:
// Adds script tag to head of the page
function addScriptToHead(source, code, type) {
var script = document.createElement('script');
if (type === 'js') {
script.setAttribute('type', 'text/javascript');
}
if (source !== '') {
script.setAttribute('src', source);
}
if (code !== '') {
if (document.all && !window.opera) {
script.text = code;
} else {
script.innerHTML = code;
}
}
document.getElementsByTagName('head')[0].appendChild(script);
}
通话示例:
addScriptToHead(path,``,'js');
关于firefox - Javascript:Firefox中的Onload事件未触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5427427/