小编udh*_*thi的帖子

使用 DOMParser 解析的脚本不执行

当我使用创建脚本元素document.createElement并将其附加到时document.head,JavaScript 成功执行:

var el = document.createElement('script');
el.text = "console.log('Hello World!')";
document.head.insertAdjacentElement('afterbegin', el);
// console output: "Hello World!"
Run Code Online (Sandbox Code Playgroud)

但是如果我使用 DOMParser 解析 html 字符串然后将其附加firstElementChilddocument.head,则 JavaScript 不会执行:

var parser = new DOMParser();
var htmlString = "<script>console.log('Bye World!')<\/script>";
var domEl = parser.parseFromString(htmlString, "text/xml").firstElementChild;
document.head.insertAdjacentElement('afterbegin', domEl);
// No console output
Run Code Online (Sandbox Code Playgroud)

在这两种情况下<script>都会添加一个标签。document.head为什么在第二种情况下 JavaScript 不执行?

javascript dom

5
推荐指数
1
解决办法
1377
查看次数

标签 统计

dom ×1

javascript ×1