当前位置:  开发笔记 > 编程语言 > 正文

未终止字符串文字的常见来源

如何解决《未终止字符串文字的常见来源》经验,为你挑选了7个好方法。

我正在尝试调试一个在Firefox扩展中读取并执行的JavaScript脚本.我只能通过Firebug控制台看到错误(我的代码对于Firebug是不可见的),并且它报告了一个"未终止的字符串文字".

我检查了它周围的线和线条,一切似乎都很好 - 括号,括号和引号是平衡的,等等.我应该寻找的其他可能的原因是什么?



1> VoY..:

大多数浏览器似乎都有这样的代码问题:

var foo = "";

在Firefox,Opera和IE8中,这会导致未终止的字符串文字错误.在序列化包含脚本的html代码时可能非常讨厌.


这是我的错误的原因,即使脚本传递了JSLint.我将""更改为""并修复了它.
我无法相信这一点,它解决了这个问题.我一百万年都没猜到过.:(
啊.这背后有原因吗?
简单地逃避斜线也会起作用.
也许您忘记了将脚本包含在HTML注释中。

2> jamtoday..:

寻找换行!这些往往是原因.


你知道这个的原因吗?

3> PJ Brunet..:

如果我有"声誉",我会投票给jamtoday的答案

如果您的数据是通过PHP发布的,这可能会有所帮助

$str = str_replace(array("\r", "\n"), '', $str);


@NielsBom它只是删除换行符(通过不使用换行符代替)

4> Queue..:

我刚刚发现它"<\/script>"看起来效果不错"".



5> Andrew Hedge..:

您可以尝试通过JSLint运行脚本.



6> 小智..:

只需转义标记闭包或使用ascii代码

<\/script>

</script>



7> Manu..:

寻找一个包含未转义的单个qoute的字符串,该字符串可以由某些服务器端代码插入。

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有