我在尝试使用 JQuery 将字符串附加到 div 时遇到问题。
该字符串将是 HTML,有时用户会在字符串中使用脚本标签。
不幸的是,当浏览器读取</script>
字符串内部时,它会结束该部分并将以下所有 javascript 打印到浏览器中。显然,我们不希望这样。
有没有办法让浏览器不解析字符串中的任何内容?
这方面的一个示例可能是附加到 div 的 Adsense 广告。
我在尝试使用 JQuery 将字符串附加到 div 时遇到问题。
该字符串将是 HTML,有时用户会在字符串中使用脚本标签。
不幸的是,当浏览器读取</script>
字符串内部时,它会结束该部分并将以下所有 javascript 打印到浏览器中。显然,我们不希望这样。
有没有办法让浏览器不解析字符串中的任何内容?
这方面的一个示例可能是附加到 div 的 Adsense 广告。
您可以使用反斜杠 ( \
) 来转义<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>
该问题的解决方法是使用:
"</scr" + "ipt>"
丑陋,烦人,但工作!