我正在尝试将脚本添加到页面 DOM 的 HTML 的 HEAD 中,并将其作为字符串返回,但实际上并未修改当前页面。我只想要字符串输出而不实际影响当前页面。
我有以下代码在 Firefox/Chrome 中完美运行,但在 IE9 中它会导致 ACTUAL DOM 操作:
var htmlstr = $("head").html()
var div = document.createElement('div');
div.innerHTML = htmlstr;
var ca = document.createElement("script");
ca.type = "text/javascript";
ca.src = "somefile.js";
div.insertBefore(ca, div.firstChild || null);
我可以在 IE 控制台中看到“ca.src =”行正在触发文件的实际下载并插入到页面 DOM 中,而不仅仅是使用我创建的临时 div 来模拟它。有没有更好的方法来完成这个或一些可以使 IE 符合要求的修复?我知道这可能是一个奇怪的请求,但没有对我们可行的服务器端解决方法。
我应该补充一点,我们不希望 html 字符串中的任何 JS 实际执行。