我在Javascript中有一个字符串,我必须转义几个字符:
<script>
function GenerateCode() {
alert(ctry);
var script = "<script async src=\"//somesite.com/feed/livetrend.js\"></script>";
}
</script>
Run Code Online (Sandbox Code Playgroud)
我尝试了以下来逃避角色:
var script = "<script async src=\"//somesite.com/feed/livetrend.js\"></script>";
Run Code Online (Sandbox Code Playgroud)
但是,尽管已经考虑\在前面包含一个转义字符,但这不能正常工作"
这是一个错误 - unterminated string constant.
Ale*_*ara 25
问题是,当浏览器</script>在开放标记内遇到结束标记时<script>,无论使用它的上下文如何,它都会在那里终止脚本标记.有两种方法可以避免这种情况.
/在结束script标记中转义:var script = '<script async src="//somesite.com/feed/livetrend.js"><\/script>';
Run Code Online (Sandbox Code Playgroud)
<script>
/*<!--*/
var script = '<script async src="//somesite.com/feed/livetrend.js"></script>';
/*-->*/
</script>
Run Code Online (Sandbox Code Playgroud)
当然,将JavaScript移动到外部文件将完全避免这个问题,尽管它可能不是更好.
| 归档时间: |
|
| 查看次数: |
6281 次 |
| 最近记录: |