Ответ 1
Я получал эту проблему, когда использовал xxx.trim() вместо $.trim(xxx). Как только я переключил эту проблему, ушел.
Это не указывает на ошибку в моем 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>
Я получал эту проблему, когда использовал xxx.trim() вместо $.trim(xxx). Как только я переключил эту проблему, ушел.
Примечание. Некоторые из них могут также попасть на эту страницу, пытаясь использовать jQuery 2 с IE8. Поддержка jQuery 2 для IE8 (см. http://jquery.com/browser-support/).
Если вам нужна поддержка IE8, используйте последнюю версию jQuery 1
По моему опыту, jQuery редко бывает проблемой независимо от версии, которую вы могли бы запускать, что я обычно делаю, чтобы избавиться от этих неприятных ошибок, - отключить | удалить любой другой javascript, который вы используете на сайте (помимо jquery), затем включите 1 к 1 в сочетании с jquery, как только вы обнаружите, где ошибка попадает, попытайтесь отладить эту script, 1 вещь, которая действительно была полезной в прошлом, - это сделать jslint или jshint, если вы не знакомы с этими инструментами, это инструменты, которые помогут вам проверить ваш код и порекомендуют вам улучшить некоторые из ваших заявлений на основе предыдущих опытов разработчиков, JSLint - более строгий инструмент, я думаю, что JSHint поможет вам немного тем более, что в некоторых аспектах он немного более прощает.
Сообщите мне, если это было полезно, также попробуйте установить инструменты разработчика IE8:)
По сути, в моем коде была странная проблема, объявляющая переменную.
Таким образом, это не имело никакого отношения к загрузке jquery, но это никоим образом не показывало бы сообщение об ошибке, связанное с линией в моем коде.
Как только я объявил переменную выше логики, она работала без ошибок.
Спасибо всем за попытку.
Это может быть много причин, но я столкнулся с той же ошибкой, и я использовал
.html().trim();
когда я изменил его на
.html()+"";
он разрешил проблему. проверьте строку ошибки и, если вы используете .trim() после .html(), удалите ее.
У меня возникла проблема с именами, в моем случае была вызвана цепочка trim() на функции text() в ie8
Оскорбительный код был
$("td:eq(n)", this).text().trim();
Изменено:
$.trim(("td:eq(n)", this).text());
Теперь работаем.
У меня была эта проблема с переменной с именем form
, которая меняла эту крошечную вещь.
Это также произойдет, если вы пытаетесь использовать ES5.bind при обратном вызове с вашим jquery.
$('#ref').on('click', function() {
// do stuff
}.bind(this));