1

我在尝试使用 JQuery 将字符串附加到 div 时遇到问题。

该字符串将是 HTML,有时用户会在字符串中使用脚本标签。

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

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

这方面的一个示例可能是附加到 div 的 Adsense 广告。

4

2 回答 2

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>
于 2013-03-06T20:24:04.347 回答
1

该问题的解决方法是使用:

"</scr"  + "ipt>"

丑陋,烦人,但工作!

于 2013-03-06T20:24:09.807 回答