document.body.innerHTML在IE中删除javascript - bug?

时间:2013-11-14 10:06:50

标签: 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"

document.body.innerHTML

“AAA”

2 个答案:

答案 0 :(得分:1)

这适用于任何浏览器以插入javascript:

var newScript = document.createElement('script');
var scriptTag = document.getElementsByTagName('script')[0];
newScript.text = "function myFunction() { alert(); }"
scriptTag.parentNode.insertBefore(newScript, scriptTag);

答案 1 :(得分:1)

嗨尝试下面的代码可能会帮助你...

你需要为&lt; / script&gt;使用转义字符标签

div.innerHTML = '<script> function myFunction() { alert(); } <\/script>AAA';