使用innerhtml将脚本标签插入到html元素中[重复]
Posted
技术标签:
【中文标题】使用innerhtml将脚本标签插入到html元素中[重复]【英文标题】:insert script tags into html element using innerhtml [duplicate] 【发布时间】:2014-12-21 03:29:11 【问题描述】:我无法将此代码插入我的 html 页面:
<script type="text/javascript">
var1 = "1";
var2 = "2";
var3 = "3";
</script>
<script type="text/javascript" src="http://www.someadress.com/sss.js"></script>
<noscript><a href="http://someadress" target="_blank"><img src="someimg"
></a></noscript>';
我尝试过使用innerhtml
,但它似乎不起作用。这是我尝试过的一个例子;我正在尝试在 ID 为 allImages
的元素中添加脚本:
var imagesHTML = document.getElementById("allImages").innerHTML;
imagesHTML = '<script type="text/javascript">
var1 = "1";
var2 = "2";
var3 = "3";
</script>
<script type="text/javascript" src="http://www.someadress.com/sss.js"></script>
<noscript><a href="http://someadress" target="_blank"><img src="someimg"
></a></noscript>';
【问题讨论】:
【参考方案1】:您无法通过注入 HTML 来加载 <script>
标签。相反,您需要使用eval()
函数!还有其他创建 DOM 对象和调用脚本的方法。请查看以下内容:
注意:你应该永远不要使用eval()
,除非你知道环境并且是绝对必要的。
如果您不需要这些麻烦,您可以随时使用 jQuery 和 MooTools 之类的库来使用 .html()
函数插入 HTML。
【讨论】:
“相反,你需要使用eval()
函数!” 不,你不需要。而且可以说真的不应该。
另外:既然您知道这是上一个问题的重复,即使麻烦链接到它,为什么不将问题作为重复关闭?
@T.J.Crowder 更新了答案。请务必检查一下。
“相反,你需要使用eval()
函数!”仍然存在,但仍然不正确。
重复的答案似乎是针对 1 个好的解决方案 + 我无法理解代码,我将脚本用于整个 html 或每次用于不同的标签?以上是关于使用innerhtml将脚本标签插入到html元素中[重复]的主要内容,如果未能解决你的问题,请参考以下文章