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