这个问题已经有一个答案在这里:

我要调试一JavaScript脚本,被阅读,在一个Firefox扩展和执行。我只可以看到错误的通过萤火虫控制台(我的代码是不可见的萤火虫),和它的报告"未终止串的文字。"

我检查线路线周围的这一切似乎现括号,括号,报价是平衡的,等等。什么其他可能的原因,我应该找什么?

有帮助吗?

解决方案

最浏览器上似乎有问题与这样的代码:

var foo = "</script>";

在火狐,歌剧和IE8这就导致未终止的字符串的错误。可以非常讨厌的时序列化html代码,其中包括脚本。

其他提示

看换行!这些经常的原因。

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

如果数据来通过的PHP,这可能有帮助

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

我刚发现 "<\/script>" 看来工作 "</scr"+"ipt>".

你可以试试运行的脚本通过 JSLint.

只是逃避你标记的封闭或使用ascii码

<\/script>

<&#47;script>

如果你做任何削减到:一些网上的语法荧光笔将损坏的单一和双引号,把它们变成格式化的报价对(匹配的开放和关闭对)。(寿我找不到任何实例,现在)...因此,需要打击的命令-+几次盯着你的报价符

尝试一种 不同字体? 此外,不同的编辑和IDEs使用不同的系统,并突出的规则,并JS是一个更为动态语言分析,以尝试打开文件,在emacs,vim,点击(与JS插件)...如果你幸运,他们中的一个会显示出一种长紫色串通过运行结束的文件。

看起来一串,其中包含一个非转义的单qoute,可能会插入一些服务器方的代码。

你逃过你的正斜线(/)?我已经有麻烦了那些之前

你有没有试过 Chromebug?这是萤火的扩展。

我已经有麻烦角度的报价在过去(')通常从复制、粘贴从字。取代他们经常单quotes(')没有把戏。

还有,记得%0A是换行符编码URL。我花了一段时间找到那里有一个换行在我的犯罪码。

如果没有什么帮助,寻找一些单码的字样

\u2028

这可能会破坏你串在一个多线,把这个错误

也许是因为你有一条线打在你的PHP code.如果你需要的线断在你的警报窗口的信息,包括它作为一个逃脱法在每个月底线在你的PHP code.我通常做法如下:

$message = 'line 1.\\n';
$message .= 'line 2.';

尝试一个"二元搜索"。删除一半代码和再试一次。如果错误仍然存在,删除一半,其余的代码。如果错误是不存在的,把你删除,并删除一半。重复。

你应该能够缩小它的一些行相当迅速。我的经验是,在这一点上,你会发现一些愚蠢的错误串。

它可能是权宜之计,以执行这一保存的版本HTML输出到浏览,如果你不知道哪些服务器侧资源的错误。

网页的开发猜错了关于其编码使用者浏览器。这通常可以解决通过指定一个编码的网页的标题。

扫描的代码 之前 线#提到的错误信息。无论是无终导致下游的东西,(归咎线#),以标记。

空白是另一个问题,我发现,导致这一错误。用一个功能来调整的空白可能会有所帮助。

$str=str_replace(array(" "," "," "," "),'
',stripslashes($str));

这个应该的工作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top