作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从服务器获取原始 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>
关于javascript - 如何在不使用 jQuery 的情况下将原始 JavaScript 标签附加到 document.body,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42171278/
我是一名优秀的程序员,十分优秀!