Ошибка JavaScript (Uncaught SyntaxError: Неожиданный конец ввода)
У меня есть некоторый код JavaScript, который работает в FireFox, но не в Chrome или IE.
В консоли Chrome JS я получаю следующую ошибку:
Msgstr "Uncaught SyntaxError: Неожиданный конец ввода".
Код JavaScript, который я использую:
<script>
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
</script>
Он говорит, что ошибка находится в последней строке, которая });
Ответы
Ответ 1
Добавьте второй });
.
При правильном отступе ваш код читает
$(function() {
$("#mewlyDiagnosed").hover(function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
}, function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
MISSING!
Вы никогда не закрывали внешний $(function() {
.
Ответ 2
В моем случае я пытался разобрать пустой JSON:
JSON.parse(stringifiedJSON);
Другими словами, произошло следующее:
JSON.parse("");
Ответ 3
http://jsbeautifier.org/ полезен для отступа вашего уменьшенного кода JS.
Также с Google Chrome вы можете использовать "симпатичную печать". Смотрите пример экрана ниже, показывающий jquery.min.js
из Qaru с jquery.min.js
отступом прямо из моего браузера :)
![enter image description here]()
Ответ 4
Форматирование вашего кода немного, вы только закрыли функцию внутреннего наведения. Вы не закрыли внешние части, отмеченные ниже....
$(// missing closing)
function() { // missing closing }
$("#mewlyDiagnosed").hover(
function() {
$("#mewlyDiagnosed").animate({'height': '237px', 'top': "-75px"});
},
function() {
$("#mewlyDiagnosed").animate({'height': '162px', 'top': "0px"});
});
Ответ 5
В моем случае это оказалось проблемой простой двойной кавычки в моем букмаркете, запомните только одинарные кавычки в закладках. На всякий случай это помогает кому-то.
Ответ 6
У меня возникла эта ошибка, когда я пытался написать букмарклет javascript. Я не мог понять, что вызвало это. Но в конце концов я попробовал URL-кодирование букмарклета через следующий веб-сайт: http://mrcoles.com/bookmarklet/, а затем ошибка исчезла, поэтому проблема должна была быть проблемой с некоторыми символами в javascript-коде, которые интерпретируются как специальные управляющие символы URL.
Ответ 7
Эта ошибка вызвана главным образом пустыми возвращаемыми вызовами ajax
при попытке разобрать пустой Json
.
Чтобы решить этот тест, если возвращаемые данные пустые
$.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);
}
}
});
Ответ 8
Я получил это, так как у меня был комментарий в файле, который я добавлял к своей JS, действительно неудобной причине того, что происходило, - хотя, щелкнув файл VM
, который предварительно отобразил и поймал ошибку, узнаю, в чем именно была ошибка, в моем случае это был просто раскол кода, который я использовал.
Ответ 9
В моем случае это было вызвано отсутствующим (0)
в javascript:void(0)
в якоре.
Ответ 10
Я также получил эту ошибку, указывающую на конец последнего блока скриптов на странице, только для того, чтобы понять, что ошибка на самом деле заключается в нажатии на элемент с onclick="pagename"
вместо onclick="window.location='pagename'"
, Это не всегда недостающая скобка!