【问题标题】:How to execute javascript code after appendChildappendChild后如何执行javascript代码
【发布时间】:2011-11-17 19:13:09
【问题描述】:

我在使用appendChild() 附加<script> 标记时遇到问题,其中新脚本标记中引用的javascript 未运行。在 Firebug 中,我收到一条通知,上面写着“重新加载页面以获取源代码”,但如果我重新加载 JS 将再次 appendChild。

这是我的代码:

var divAd = document.createElement("div");
divAd.innerHTML = '<script src="http:example.com/adenseload.js" language="javascript" type="text/javascript"></script>';
titleBak.appendChild(divAd);

使用 appendChild() 后如何使用附加的 JS?

感谢您的回答。

【问题讨论】:

  • 你确定src-property是正确的,并且加载的js-file在加载后实际上调用了一个方法吗?
  • 是的,src 是正确的。当在另一个 js 中加载文档时,我是 appendChild()。

标签: javascript html ajax dom


【解决方案1】:

不要把它包裹在一个div中,直接创建脚本标签。这对我有用:

var scriptTag = document.createElement("script");
scriptTag.src = "http://example.com/myscript.js";
bodyTag.appendChild(scriptTag);

【讨论】:

  • 我认为您的代码是正确的,但在我的情况下 divAd.innerHTML = ajaxResult 是 ajax 的结果,所以我无法创建元素脚本,因为已经在结果中。
  • 您只能通过 ajax 传递 url 而不是整个 script-tag。
  • 你说得对,为什么我不这样想...愚蠢...我正在使用代码 thi 从 javascript 标签var adScript = ad.getElementsByTagName("script"); var index = adScript.length - 1; var adsScr = adScript[index]; var src = adsSrc.src;获取 src
【解决方案2】:

您必须使用以下语句来加载 JS,

document.write('&lt;script src="', 'http:example.com/adenseload.js', '" type="text/JavaScript"&gt;&lt;\/script&gt;');

您只能将 HTML 对象附加到 DIV,而不是脚本标签

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-02
    • 1970-01-01
    • 2017-05-09
    • 1970-01-01
    • 2022-11-01
    • 1970-01-01
    相关资源
    最近更新 更多