3

我正在尝试根据 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 但脚本未执行(至少我无法确定)。它是第 3 方脚本,因此我无法直接控制它,因此也无法修改它。

4

1 回答 1

1

在阅读了问题下方的评论后,似乎第三方脚本正在 window.onload 事件中完成其工作。许多程序员使用这种风格。

window.onload = function() {
    // Whatever task
};

如果在您动态添加脚本标记之前已经触发了页面的 onload 事件,则“任何任务”代码将永远不会执行。

检查第三方脚本的来源。如果它使用window.onload,你可以尝试调用window.onload(); 动态添加脚本标签后。

于 2012-08-09T15:46:56.867 回答