我在Javascript中有一个字符串,在其中必须转义几个字符:
<script>
function GenerateCode() {
alert(ctry);
var script = "<script async src=\"//somesite.com/feed/livetrend.js\"></script>";
}
</script>
我尝试了以下方法来逃避字符:
var script = "<script async src=\"//somesite.com/feed/livetrend.js\"></script>";
但是,尽管已经注意了\
在"
这是一个错误- unterminated string constant
。
问题是,当浏览器</script>
在打开<script>
标记中遇到关闭标记时,无论使用哪种上下文,它都会在那里终止脚本标记。有两种方法可以避免这种情况。
/
在结束script
标记中转义:var script = '<script async src="//somesite.com/feed/livetrend.js"><\/script>';
<script>
/*<!--*/
var script = '<script async src="//somesite.com/feed/livetrend.js"></script>';
/*-->*/
</script>
当然,将JavaScript移至外部文件将完全避免此问题,尽管它可能不是可取的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句