公共来源的未终止的字符串[重复]
-
03-07-2019 - |
题
这个问题已经有一个答案在这里:
我要调试一JavaScript脚本,被阅读,在一个Firefox扩展和执行。我只可以看到错误的通过萤火虫控制台(我的代码是不可见的萤火虫),和它的报告"未终止串的文字。"
我检查线路线周围的这一切似乎现括号,括号,报价是平衡的,等等。什么其他可能的原因,我应该找什么?
解决方案
最浏览器上似乎有问题与这样的代码:
var foo = "</script>";
在火狐,歌剧和IE8这就导致未终止的字符串的错误。可以非常讨厌的时序列化html代码,其中包括脚本。
其他提示
看换行!这些经常的原因。
我会投票给jamtoday的答案如果我有的"声誉"
如果数据来通过的PHP,这可能有帮助
$str = str_replace(array("\r", "\n"), '', $str);
我刚发现 "<\/script>"
看来工作 "</scr"+"ipt>"
.
你可以试试运行的脚本通过 JSLint.
只是逃避你标记的封闭或使用ascii码
即
<\/script>
即
</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));
这个应该的工作。