3

可能重复:
执行插入 .innerHTML 的 <script> 元素
在页面加载时将 <script> 标签动态插入 HTML

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

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

或者

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

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

有没有办法手动触发?

4

1 回答 1

3

您需要将javascript添加到head标签,即

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>并在那里停止解析。

于 2012-05-14T20:45:13.540 回答