Ошибка 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'", Это не всегда недостающая скобка!