0

我想将标签解析为 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

“啊”

4

2 回答 2

1

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

您需要为 </script> 标签使用转义字符

div.innerHTML = '<script> function myFunction() { alert(); } <\/script>AAA';
于 2013-11-14T10:53:11.193 回答
1

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

var newScript = document.createElement('script');
var scriptTag = document.getElementsByTagName('script')[0];
newScript.text = "function myFunction() { alert(); }"
scriptTag.parentNode.insertBefore(newScript, scriptTag);
于 2013-11-14T10:21:40.967 回答