我有一些 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>
它说错误在最后一行,即
});
添加第二个
});
。
正确缩进后,您的代码将显示为
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
MISSING!
你从未关闭过外部
$(function() {
。
就我而言,我试图解析一个空的 JSON:
JSON.parse(stringifiedJSON);
换句话说,发生的事情如下:
JSON.parse("");
http://jsbeautifier.org/ 有助于缩进缩小的 JS 代码。
此外,通过 Google Chrome,您可以使用“漂亮的打印”。请参阅下面的示例屏幕截图,其中显示来自 Stack Overflow 的
jquery.min.js
在我的浏览器中完美缩进:)
稍微格式化你的代码,你只关闭了内部悬停功能。 您尚未关闭外部部件,如下所示:
$(// missing closing)
function() { // missing closing }
$("#mewlyDiagnosed").hover(
function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
},
function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
就我而言,这是由于锚点中的
(0)
中缺少 javascript:void(0)
造成的。
就我而言,它最终成为我的小书签中的一个简单双引号问题,请记住仅在小书签上使用单引号。以防万一这对某人有帮助。
此错误主要是由于尝试解析空 JSON 时返回空的 ajax 调用引起的。
解决此测试如果返回数据为空
$.ajax({
url: url,
type: "get",
dataType: "json",
success: function (response) {
if(response.data.length == 0){
// EMPTY
}else{
var obj =jQuery.parseJSON(response.data);
console.log(obj);
}
}
});
当我尝试编写 JavaScript 书签时,出现此错误。我不明白是什么原因造成的。但最终我尝试通过以下网站对小书签进行 URL 编码:http://mrcoles.com/bookmarklet/ 然后错误消失了,所以这一定是 javascript 代码中的某些字符被解释为的问题特殊的 URL 控制字符。
我得到这个是因为我在添加到 JS 的文件中添加了一条评论,这对于正在发生的事情来说确实是一个尴尬的原因 - 尽管当单击预渲染并捕获错误的
VM
文件时,你会发现找出错误到底是什么,就我而言,它只是取消注释我正在使用的一些代码。
我还收到此错误,指向页面上最后一个脚本块的末尾,只是意识到该错误实际上是由于单击带有
onclick="pagename"
而不是 onclick="window.location='pagename'"
的元素而导致的。并不总是缺少括号!
我认为这可能是您的应用程序中的几乎所有 JavaScript 错误/打字错误。 我尝试删除一个又一个的文件内容,最后发现打字错误。
由于这一行,我收到此错误:
<button type="button" id="button" onclick="Continue(); document.body.style.cursor = "wait"; this.disabled = true;"> Continue </button>
注意wait周围的双引号。将 wait 周围的双引号更改为单引号修复了它。