我有一些JavaScript代码,工作在FireFox,但不是在Chrome或IE。

在Chrome JS控制台,我得到以下错误:

“未捕获的语法错误:输入的意外结束”。

我使用的JavaScript代码是:

<script>
 $(function() {
 $("#mewlyDiagnosed").hover(function() {
    $("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
 }, function() {
    $("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
 });
</script>

它说错误是在最后一行,即});


当前回答

当我试图编写javascript bookmarklet时,我得到了这个错误。我不知道是什么引起的。但最终我尝试了URL编码的bookmarklet,通过以下网站:http://mrcoles.com/bookmarklet/,然后错误消失了,所以它一定是一个问题,在javascript代码中的某些字符被解释为特殊的URL控制字符。

其他回答

当我试图编写javascript bookmarklet时,我得到了这个错误。我不知道是什么引起的。但最终我尝试了URL编码的bookmarklet,通过以下网站:http://mrcoles.com/bookmarklet/,然后错误消失了,所以它一定是一个问题,在javascript代码中的某些字符被解释为特殊的URL控制字符。

在我的情况下,我试图解析一个空JSON:

JSON.parse(stringifiedJSON);

换句话说,事情是这样的:

JSON.parse("");

我还得到了这个错误指向一个页面上的最后一个脚本块的结束,才意识到这个错误实际上是从点击一个onclick=“pagename”的元素,而不是onclick=“window.location='pagename'”。它并不总是缺少一个括号!

在我的情况下,这是由javascript:void(0)在锚中丢失(0)引起的。

我得到这个是因为我在添加到JS的文件中有一个注释,这对于正在发生的事情来说是非常尴尬的原因-尽管当单击预渲染的VM文件并捕获错误时,你会发现错误到底是什么,在我的情况下,它只是取消了我正在使用的一些代码的注释。