Как бороться с ie8 jquery объект не поддерживает это свойство или метод Error? - PullRequest
15 голосов
/ 03 марта 2011

Это не указывает на какую-либо ошибку в моем коде javascript, но в загруженном файле jquery.js, который является переименованным уменьшенным файлом jquery 1.3.2.

Я тестирую некоторый код js в IE8, который на 100% работает в Firefox и Google Chrome, прежде чем переходить на рабочий сервер.

Но в самой библиотеке jquery, похоже, есть проблемы внутри IE8.

Я даже пытался загрузить новую копию 1.3.2 jquery и использовать ее вместо минимизированной версии, и она по-прежнему выдает ошибку.

Затем я попытался использовать cdn, размещенный на code.jquery.com, и он все еще выдавал ошибку, даже не позволяя моему коду работать или не работать.

Похоже, что он частично работает в IE8, но другие jquery на нашем dev-сервере частично работают, и продолжают повторять: «Объект не поддерживает это свойство или метод»

Существует ли конкретная версия jquery, которая лучше всего работает в IE8? По крайней мере, чтобы я мог видеть, есть ли проблема с моим кодом или нет в IE8?

Или есть список функций jquery, которые не работают в IE8?

P.S. Кроме того, я рассмотрел вопрос об обновлении до IE9, чтобы выяснить, есть ли у него такая же проблема, но вы не можете загрузить IE9 для WinXP, который отстой. Мне просто нравится WinXP, и у меня очень мало шансов на обновление. До того, как у меня была XP, у меня была Vista на моем рабочем компьютере, который действительно работал.

Извините за небольшую ошибку, просто пытаюсь заставить этот код работать и без ошибок ...

Спасибо.


от комментария

<!--- Include jQuery --->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" charset="utf-8"></script> 

Ответы [ 8 ]

20 голосов
/ 28 октября 2011

Я получал эту пробу, когда использовал xxx.trim () вместо $ .trim (xxx). Как только я переключил этот пробник ушел.

10 голосов
/ 03 февраля 2014

Примечание: некоторые могут также прийти на эту страницу, пытаясь использовать jQuery 2 с IE8. jQuery 2 прекращает поддержку IE8 (см .: http://jquery.com/browser-support/).

Если вам нужна поддержка IE8, используйте последнюю версию jQuery 1

3 голосов
/ 04 марта 2011

По моему опыту, jQuery редко является проблемой, независимо от версии, которую вы, возможно, используете, и что я обычно делаю, чтобы избавиться от этих неприятных ошибок, это отключить | удалить любой другой javascript, который вы используете на сайте (кроме jquery), затем начните включать 1 на 1 в сочетании с jquery, как только вы обнаружите, где возникает ошибка, попробуйте отладить этот сценарий, 1 вещь, которая была действительно полезна в прошлом, это сделать jslint или jshint, если вы не знакомы с этими инструментами, они являются инструментами, которые помогут вам проверить ваш код и порекомендуют вам улучшить некоторые из ваших утверждений, основываясь на предыдущем опыте разработчиков, JSLint - более строгий инструмент, я думаю, что JSHint поможет вам немного больше, поскольку это немного более прощающий в некоторых аспектах.

Дайте мне знать, если это было полезно, также попробуйте установить инструменты разработчика IE8:)

2 голосов
/ 07 марта 2011

По сути, в моем коде была странная проблема с объявлением переменной.

Так что это не имело ничего общего с загрузкой jquery, но никоим образом не отображало сообщение об ошибке, относящееся к строкев моем коде.

Как только я объявил переменную над логикой, она заработала без ошибок.

Спасибо всем за попытку.

0 голосов
/ 25 мая 2016

Это также произойдет, если вы пытаетесь использовать ES5 .bind для обратного вызова с вашим jquery.

$('#ref').on('click', function() { 
    // do stuff 
}.bind(this));
0 голосов
/ 26 июня 2014

У меня была эта проблема с переменной form, которая меняла эту крошечную вещь.

0 голосов
/ 16 ноября 2012

У меня возникла та же проблема, в моем случае она была вызвана цепочкой trim () для функций text () в ie8

Код оскорбления был $("td:eq(n)", this).text().trim();

Изменено на: $.trim(("td:eq(n)", this).text());

Сейчас работает.

0 голосов
/ 24 октября 2011

Может быть много причин, но я столкнулся с той же ошибкой, и я использовал

.html().trim();

, когда я изменил его на

.html()+""; 

, это решило проблему.проверьте строку ошибки и, если вы используете .trim () после .html (), удалите ее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...