我正在进行动态脚本调用,以在window的onload事件之前加载一些extenal 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上的行为。感谢您的帮助。
谢谢, 拉加
答案 0 :(得分:0)
试试这个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');