我想附加一个脚本标记,它将一行JavaScript执行到文档的头部,而不是附加一个空的脚本标记并使用src属性。
这是我到目前为止所得到的:
<script type="text/javascript">
var scriptContents = 'alert("hi")';
var theScript = document.createElement('script');
theScript.type = 'text/javascript';
theScript.appendChild(scriptContents);
document.getElementsByTagName('head')[0].appendChild(theScript);
</script>
这是我遇到麻烦的appendChild(scriptContents)部分。如何更改此设置以使警报显示在浏览器中?
答案 0 :(得分:6)
您需要将其作为文本节点附加。试试这个:
theScript.appendChild(document.createTextNode(scriptContents));
答案 1 :(得分:4)
你做不到
theScript.appendChild(scriptContents);
因为appendChild()
只附加节点,所以不能附加文本。您需要创建一个文本节点:
var scriptContents=document.createTextNode('alert("hi");')
然而,正如杰克上面提到的,你可能只想做:
eval('alert("hi")');