У меня есть приложение с портлетами, которое безупречно работает в Firefox и Chrome, но не работает в IE 8 и 9, НО только в том случае, если у меня есть 5 или более экземпляров портлета на странице портала. Если на странице 4 или менее экземпляров портлета, он отлично работает и в IE.
Когда на странице имеется более 5 экземпляров портлета, я вижу следующую ошибку:
SCRIPT87: недопустимый аргумент. jquery-1.5.2.min.js, строка 16 символов 25442
Код использует jQuery и несколько плагинов, а именно jqGrid. Вот то, что я пытался решить до сих пор, ни одно из которых не имело никакого значения:
- Обновлены библиотеки jQuery и jQuery-UI. В коде используются версии 1.5.2 и 1.7.2 соответственно. Обновление до последних версий не имело никакого значения.
- Обновил библиотеку jqGrid. В коде используется версия 4.1.2. Обновление до 4.3.2 не имело никакого значения.
- Обновил плагин 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 );
}
Любые идеи?