javascript - 如何运行使用 innerHTML 添加到页面的脚本?

标签 javascript

<分区>

Possible Duplicate:
Executing <script> elements inserted with .innerHTML
Dynamically Inserting <script> tags into HTML on Page Load

我的意思是如果我做 .innerHTML 写包含

<script type="text/javascript" src="source.js"></script>

<script type="text/javascript"> // embedded code here </script>

嵌入代码不运行,链接到代码也不运行。它是“死的”。

有没有办法手动触发?

最佳答案

你需要在 head 标签中添加 javascript, 即

var head = document.getElementsByTagName("head")[0];         
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'http://www.somedomain.com/somescript.js';
head.appendChild(newScript);

(这是很常见的事情,但我从这里复制了代码:http://www.hunlock.com/blogs/Howto_Dynamically_Insert_Javascript_And_CSS)


旁注: 如果你使用 jQuery,你会很想写下面的代码:

<script>
    [....]
    $( "head" ).append( "<script src='myScript.js'></script>" ); 
    [....]
</script>

请注意,这不起作用,因为 javascript 解析器将看到第一个 </script>并在那里停止解析。

关于javascript - 如何运行使用 innerHTML 添加到页面的脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10590724/

相关文章:

javascript - Angularjs 指令在 textarea 插入符号处插入文本

javascript - 当我们在 react-google-maps 中点击圆圈时如何显示信息窗口

javascript - 遍历对象数组以提取特定数据

javascript - 刷新页面时未加载 CSS

javascript - 为什么我不能通过只传递它的变量名来运行这个回调,但我可以将它包装在一个函数中?

javascript - Safari 推送通知 + 权限 "denied"且未找到日志

javascript - 如何在单个页面上创建滚动到顶部按钮?

javascript - 使用浏览器 JavaScript SDK 检查 AWS S3 上是否存在文件?

javascript - Youtube 嵌入开始时间错误 &lt;iframe&gt;<javascript>

javascript - 在 Concrete5 中编辑 block