[英]How to append a raw JavaScript tag to document.body without jQuery
我从服务器获取了原始JavaScript标记:
"<script>alert('hi');</script>"
现在,我需要将其附加到<body>
,以使其触发。 我不能简单地创建一个新的脚本元素,因为该字符串已经包含<script>
部分。 是否有类似的东西
child = document.createElementFromHTML("<script>alert('hi');</script>");
document.body.appendChild(child)
谢谢你的帮助。
编辑
这就是为什么它不是重复的霍尔监视器的原因:
如果将div的内部html设置为脚本,则不会触发。 我需要将仅从文本生成的元素附加到正文。
编辑2
最终解决方案:
window.onload = function() {
document.body.innerHTML += "<script>alert('hi');</script>";
var script = document.scripts[document.scripts.length - 1];
var s = document.createElement("script");
s.textContent = script.textContent;
document.body.removeChild(script);
document.body.appendChild(s);
}
您可以连接document.body.innerHTML
与<script>
HTML字符串,得到.textContent
最后的script
中document
,创建script
元素,设置script
元素.textContent
价值从级联检索html
<script>
字符串,删除最后<script>
将新的<script>
附加到document.body
。
<script> document.body.innerHTML += "<script>alert('hi');<\\/script>"); var script = document.scripts[document.scripts.length - 1]; var s = document.createElement("script"); s.textContent = script.textContent; document.body.removeChild(script); document.body.appendChild(s); </script>
这样,您可以在HTML中插入<script>
标记
var script = document.body.appendChild(document.createElement('script')); script.text = 'alert("Hi!");'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.