IE недопустимый аргумент с jquery

У меня есть приложение с портлетами, которое безупречно работает в Firefox и Chrome, но не работает в IE 8 и 9, НО только в том случае, если у меня есть 5 или более экземпляров портлета на странице портала. Если на странице 4 или менее экземпляров портлета, он отлично работает и в IE.

Когда на странице имеется более 5 экземпляров портлета, я вижу следующую ошибку:

SCRIPT87: недопустимый аргумент. jquery-1.5.2.min.js, строка 16 символов 25442

Код использует jQuery и несколько плагинов, а именно jqGrid. Вот то, что я пытался решить до сих пор, ни одно из которых не имело никакого значения:

  1. Обновлены библиотеки jQuery и jQuery-UI. В коде используются версии 1.5.2 и 1.7.2 соответственно. Обновление до последних версий не имело никакого значения.
  2. Обновил библиотеку jqGrid. В коде используется версия 4.1.2. Обновление до 4.3.2 не имело никакого значения.
  3. Обновил плагин bgiframe. В коде используется версия 2.1. Обновление до 2.1.3 не имело никакого значения.

Поскольку это IE, очень сложно отладить, чтобы увидеть, что происходит.

Кто-нибудь видел такое поведение раньше или имеет какое-либо представление о том, что может происходить?

ОБНОВИТЬ:

Хорошо, я заменил минимальные версии файлов jQuery на неминифицированные. Вот ошибка, которую я вижу, когда у меня есть более 5 экземпляров портлета на странице в IE 8:

Message: Invalid argument.
Line: 2105
Char: 5
Code: 0
URI: https://nasa-iceint.nasa.gov/portal/ice-theme/js/jquery-1.5.2.js

Вот соответствующий код из файла jQuery:

if ( set ) {
                // convert the value to a string (all browsers do this but IE) see #1070
                elem.setAttribute( name, "" + value );
            }

Любые идеи?


person Zendog74    schedule 19.04.2012    source источник
comment
Непосредственно не уверен в вашей проблеме, но есть надстройки, которые вы можете использовать для отладки в IE. Вот только один из них   -  person Terry    schedule 20.04.2012
comment
Вы можете заменить уменьшенную версию jquery-1.5.2.min.js на jquery-1.5.2.js и лучше понять, где происходит ошибка.   -  person Sam Tyson    schedule 20.04.2012
comment
+1, использование неминифицированной версии jquery очень поможет.   -  person jimw    schedule 20.04.2012
comment
Вам повезло с последними версиями jQuery и jQueryUI?   -  person Surreal Dreams    schedule 24.04.2012
comment
Неа. Я пробовал обновиться до почти последних версий jQuery и jQuery-UI, но все равно увидел ту же ошибку. Конечно, я все еще использовал минифицированные версии, но это не должно иметь никакого значения.   -  person Zendog74    schedule 24.04.2012


Ответы (3)


Я понял, что здесь не так. Оказывается, динамическая загрузка файла CSS в IE, когда уже загружено много CSS, может вызвать проблемы. См. Динамическая загрузка таблицы стилей css не работает в IE

Надеюсь, это поможет кому-то еще, кто столкнется с той же проблемой.

person Zendog74    schedule 21.05.2012

Возможно, ваша страница добавляет неправильный формат JSON.

var jsonThatWorksOnFirefoxAndChrome = {
    first:"ok",
    last: "not ok, remove the comma after this string to fix it",
}

Chrome и Firefox просто проигнорируют последнюю запятую.

person Juliano    schedule 23.04.2012
comment
Хотя и хорошо, но JSON действителен. Без запятых в конце. - person Zendog74; 24.04.2012

Также проверьте наличие конфликтов jQuery и убедитесь, что вы включили только одну версию jQuery и только один раз.

person Ardelean Ionut    schedule 18.02.2013