我想将 和 之类的标签解析为 document.body.innerHTML (见下文)。然而,尽管你可以在 Chrome 中执行此操作,但它在 IE 中不起作用。我必须让它在 IE 中工作,但似乎这是不可能的。有什么想法吗?
html = '<script> function myFunction() { alert(); } </script>AAA'
doc.body.innerHTML = html
AAA存储在doc.body.innerHTML中
要快速复制该问题,只需将下面的第一行添加到 IE 控制台窗口,然后查看 document.body.innerHTML 中的内容,您会发现它已被删除。
我们使用一个已有 10 年历史的文本编辑器,它只能在 IE 中工作,并且总是剥离 javascript,所以现在我发现了原因,并希望有人可以提供替代方案......谷歌搜索没有多大帮助
document.body.innerHTML = "<script> function myFunction() { alert(); } </script>AAA"
文档.body.innerHTML
“AAA”
最佳答案
这适用于任何插入 JavaScript 的浏览器:
var newScript = document.createElement('script');
var scriptTag = document.getElementsByTagName('script')[0];
newScript.text = "function myFunction() { alert(); }"
scriptTag.parentNode.insertBefore(newScript, scriptTag);
关于javascript - document.body.innerHTML 在 IE 中剥离 javascript - bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19974792/