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