Javascript против IE8 - ожидаемый идентификатор, строка или номер

Нет, это не дополнительная запятая.

Вот отсказка, которая дает мне проблему.

$(document).ready(function(){   
    $("div#slider").easySlider({
        auto: false,
        continuous: true,
        nextId: "nextBtn",
        prevId: "prevBtn"
    });

    $("div#slider-banner").easySlider({
        auto: true,
        continuous: true,
        controlsShow: false
    });
        // <---------------------------------- Line 14
    $("div#slider-photos").easySlider({
        auto: true,
        continuous: true,
        controlsShow: false
    });

    $("#marquee").marquee({
        scrollSpeed: 25,
        pauseSpeed: 2000,
        showSpeed: 850

    }); 
});

ДЕТАЛИ ОШИБКИ

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET CLR 1.1.4322; Tablet PC 2.0; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)
Timestamp: Wed, 6 Apr 2011 15:20:42 UTC


Message: Expected identifier, string or number
Line: 14
Char: 5
Code: 0

Это происходит на случайных установках IE8, любых идеях?

Ответ 1

Попробуйте поместить все свои свойства объекта в (двойные) кавычки, например:

$("div#slider").easySlider({
    'auto': false,
    'continuous': true,
    'nextId': "nextBtn",
    'prevId': "prevBtn"
});

Ответ 2

В 2015 году, если вам все еще нужна совместимость с IE8 (более или менее), моя проблема с этой ошибкой проявилась только на реальном сервере, но не произошла на localhost (go figure). И это вызвало ошибку IE8 таким образом, что оно перешло в представление совместимости IE7, которое также всасывает то же, что и режим Quirks.

В любом случае проблема не может быть решена ни одним из приведенных выше советов, и проблема была конечной запятой после перечисления некоторых параметров/параметров.

Пример:

$(document).ready(function(){
    $('#selector').func({
        rules: {
            parameter1: {
                option1: true,
                option2: 1,
                option3: 5
            }
        }, // <- this trailing comma is fatal to IE8
    });
});

Ответ 3

У меня была аналогичная проблема с привязкой класса attr для нокаута. Случилось так, что атрибут класса должен был быть заключен в кавычки типа "класс".