Как работать с ie8 jquery object не поддерживает это свойство или метод Ошибка?

Это не указывает на ошибку в моем 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-сервере частично работает и продолжает повторное итерацию: "Object не поддерживает это свойство или метод"

Есть ли определенная версия 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> 

Ответы

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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

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

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

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

Ответ 5

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

.html().trim();

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

.html()+""; 

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

Ответ 6

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

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

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

Теперь работаем.

Ответ 7

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

Ответ 8

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

$('#ref').on('click', function() { 
    // do stuff 
}.bind(this));