How can I run script that was added to the page with innerHTML?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Executing elements inserted with .innerHTML
Dynamically Inserting tags into HTML on Page Load
我的意思是如果我这样做。innerhtml写的
1 | <script type="text/javascript" src="source.js"> |
或
1 | <script type="text/javascript"> // embedded code here |
嵌入的代码不运行,链接到代码的代码也不运行。它是"死"的。
是否有手动触发的方法?
您需要将javascript添加到head标签中,即
1 2 3 4 5 | 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_dynamic_insert_javascript_and_css)
侧记:如果使用jquery,您将尝试编写以下内容:
1 2 3 | [....] $("head" ).append("<script src='myScript.js'>" ); [....] |
注意,这不起作用,因为JavaScript解析器将看到第一个