【发布时间】:2014-07-28 19:06:11
【问题描述】:
我已经测试了这段代码,手动将反斜杠添加到所有 </script> 标记中,并且
如果所有标签都变为<\/script>,则代码有效。
var iframe = document.createElement('iframe');
var html = '<html><head><script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.js"><\/script><script type="text/javascript">$(window).load(function(){function popo1(){alert("ciaoooo!");}popo1();$(".eccolo").html("<br><br><br><br>xD sygsyusgsuygsus ysg usygsuys");});<\/script></head><body><div class="eccolo"></div></body></html>';
document.body.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(html);
iframe.contentWindow.document.close();
但我需要使用类似的东西动态地用<\/script> 自动替换所有</script> 标签
XXX.replace(/<\/script>/ig, "<\\\/script>");
但似乎这种类型的替换实际上不起作用......
var iframe = document.createElement('iframe');
var XXX = '<html><head><script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.js"><\/script><script type="text/javascript">$(window).load(function(){function popo1(){alert("ciaoooo!");}popo1();$(".eccolo").html("<br><br><br><br>xD sygsyusgsuygsus ysg usygsuys");});<\/script></head><body><div class="eccolo"></div></body></html>';
var YYY = XXX.replace(/<\/script>/ig, "<\\\/script>");
document.body.appendChild(iframe);
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(YYY);
iframe.contentWindow.document.close();
不幸的是我不能使用 .js 文件,所以我希望有一种方法可以正确地替换标签
【问题讨论】:
-
你为什么用
document.open/write/close... -
@edward:我已经更新了我的答案。该帖子中的内容与您正在做的事情无关。
-
为什么你认为它不起作用?在您的演示中尝试
alert(YYY)。它有你想要的<\/script>
标签: javascript jquery replace