通过appendChild添加的Javascript似乎无法运行

我有一个javascript文件正在动态添加到页面中.如果我使用document.write,它可以正常工作:

<html>
<head></head>
<body>
    <script type="text/javascript">
          var src = 'myDynamicScript.js';
          document.write('<scr' + 'ipt type="text/javascript" src="' + src + '"></scr' + 'ipt>');
    </script>
</body>
</html>

但是,如果我使用this answer中概述的appendChild,则脚本将被下载,但永远不会运行:

<html>
<head></head>
<body>
    <script type="text/javascript">
          var src = 'myDynamicScript.js';
          var script = document.createElement("script");
          script.type  = "text/javascript";
          script.src   = src;
          document.body.appendChild(script);
    </script>
</body>
</html>

我有一个简单的示例设置here (write)here (append).我应该期望它运行,还是已知行为?如果应该,为什么不呢?

解决方法:

您的脚本运行正常,只是无法从中进行文档编写.使用警报或其他东西对其进行测试,并避免完全使用document.write.

上一篇:javascript-前3个浏览器中的早期appendChild地狱


下一篇:javascript – AppendChild无法在Ajax请求中工作