在字符串结束脚本部分

时间:2013-03-06 20:20:22

标签: javascript jquery

我遇到了一个问题,我正在尝试使用JQuery将字符串附加到div。

此字符串将为HTML,偶尔用户将使用字符串内的脚本标记。

不幸的是,当浏览器在字符串中读取</script>时,它会结束该部分并将所有以下javascript打印到浏览器中。显然,我们不希望这样。

有没有办法让浏览器不解析字符串中的任何内容?

此示例可能是附加到div的Adsense广告。

2 个答案:

答案 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>"

丑陋,讨厌,但正在工作!