我正在尝试根据API调用的返回值动态加载Javascript。我动态插入脚本标记但它没有被执行。有人能帮助理解为什么吗?相关的代码段粘贴在
下面onError: function(code) {
if(code == "false") {
var headID = document.getElementsByTagName("head")[0];
var scriptTag = document.createElement("script");
scriptTag.type="text/javascript";
scriptTag.src= 'scriptURL';
headID.appendChild(scriptTag);
}
}
使用firebug / chrome检查器,我可以看到脚本标记已添加到dom但脚本未执行(至少不是我可以确定的)。它是第三方脚本,因此我无法直接控制它,因此无法对其进行修改。
答案 0 :(得分:1)
在阅读下面的问题后,似乎第三方脚本正在window.onload事件上执行其工作。许多程序员都使用这种风格。
window.onload = function() {
// Whatever task
};
如果在动态添加脚本标记之前已经触发了页面的onload事件,那么“Whatever task”代码将永远不会执行。
检查第三方脚本的来源。如果它使用window.onload,你可以尝试调用window.onload();在动态添加脚本标记之后。