我正在尝试调试一个在Firefox扩展中读取并执行的JavaScript脚本.我只能通过Firebug控制台看到错误(我的代码对于Firebug是不可见的),并且它报告了一个"未终止的字符串文字".
我检查了它周围的线和线条,一切似乎都很好 - 括号,括号和引号是平衡的,等等.我应该寻找的其他可能的原因是什么?
大多数浏览器似乎都有这样的代码问题:
var foo = "";
在Firefox,Opera和IE8中,这会导致未终止的字符串文字错误.在序列化包含脚本的html代码时可能非常讨厌.
寻找换行!这些往往是原因.
如果我有"声誉",我会投票给jamtoday的答案
如果您的数据是通过PHP发布的,这可能会有所帮助
$str = str_replace(array("\r", "\n"), '', $str);
我刚刚发现它"<\/script>"
看起来效果不错""
.
您可以尝试通过JSLint运行脚本.
只需转义标记闭包或使用ascii代码
即
<\/script>
即
</script>
寻找一个包含未转义的单个qoute的字符串,该字符串可以由某些服务器端代码插入。