javascript - document.body.innerHTML 在 IE 中剥离 javascript - bug?

标签 javascript html internet-explorer

我想将 和 之类的标签解析为 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/

相关文章:

html - 网站元素在 IE 中不起作用

javascript - 获取选择标签的当前值

javascript - 使用代理访问自定义元素的数据集

html - css:隐藏输入文件按钮

html - CSS 层 - 我无法将一个元素放在另一个元素之上

internet-explorer - 导致 IE 问题的 HTTP header ?

javascript - 在 ng-repeat 中呈现 LI 时,AngularJS 不遵守 CSS 样式

javascript - 每行两个div的AngularJS ng-repeat网格

javascript - 查看页面时更改 CSS 代码

JavaScript 错误 :Object doesn't support this property or method in IE Browser