我遇到了一个问题,我正在尝试使用JQuery将字符串附加到div。
此字符串将为HTML,偶尔用户将使用字符串内的脚本标记。
不幸的是,当浏览器在字符串中读取</script>
时,它会结束该部分并将所有以下javascript打印到浏览器中。显然,我们不希望这样。
有没有办法让浏览器不解析字符串中的任何内容?
此示例可能是附加到div的Adsense广告。
答案 0 :(得分:5)
您可以使用反斜杠(\
)来转义<script>
关闭代码中的斜杠,以便它不会关闭实际的<script>
元素:
var foo = document.write('<script src="somewhere.js"><\/script>');
这通常在从具有本地回退的CDN加载脚本时使用:
<script src="//cdn.example.com/jquery.js"></script>
<script>
if (!window.jQuery) document.write('<script src="/assets/js/jquery.js"><\/script>');
</script>
答案 1 :(得分:1)
问题的解决方法是使用:
"</scr" + "ipt>"
丑陋,讨厌,但正在工作!