2013-08-20 4 views
26

Я использую Jquery 2.0.2 и у меня есть ошибка в IE8:Объект не поддерживает addEventListener IE8 в JQuery

Объект не поддерживает свойство или метод jquery.min.js «addEventListener», строка 4 символ 6105

Как-то все мои коды в порядке с хромом и firefox, за исключением ie8.

Получение этих ошибок также приводит к:

Значение свойства «$» является нулевым или не определено, а не функциональный объект

Я включил запрос поверх других JS-файлов Я с помощью:

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script> 

Я знаю поддержки Jquery2 + оленья кожа IE8, но я не хочу использовать меньшую версию Jquery.

+0

что является кусок кода, который вызывает эту ошибку? – AdityaSaxena

ответ

38

JQuery 2 упала поддержку IE < 9, так что если вы хотите поддержать IE7 &-затем использовать последнюю версию 1.x ветви - теперь 1.11.0

От jQuery

JQuery 2.x имеет тот же API, что и jQuery 1.x, но не поддерживает Internet Explorer 6, 7 или 8. Все примечания в руководстве jQuery 1.9 Upgrade также применяются здесь. Поскольку IE 6/7/8 по-прежнему относительно распространены, мы рекомендуем использовать версию 1.x, если вы не уверены, что пользователи IE 6/7/8 посещают сайт.

+0

Имейте в виду, что разница между jQuery 1.x и 2.x - это не только устаревшая поддержка для MartinR

11

jQuery 1.9 эквивалентен jQuery 2.0, поскольку функциональность, исправления ошибок и т. Д. Они активно развиваются.

Единственное отличие - это код, который обеспечивает совместимость IE, чтобы сделать размер файла и скорость выполнения лучше.

Если вы хотите использовать разные версии jQuery в зависимости от браузера, вы можете использовать условный тег, например.

<!--[if !IE]> --> 
    <script src="jquery-2.0.0b2.js"></script> 
<!-- <![endif]--> 

<!--[if IE]> 
    <script src="jquery-1.9.1.js"></script> 
<![endif]--> 

Обратите внимание на подсветку синтаксиса. Первый - это всего два комментария, которые являются братьями и сестрами тега сценария, а последний - это комментарий с тегом сценария внутри него. Браузеры просто следуют правилам разбора DOM и загружают/выполняют первый скрипт. IE отклоняется и не будет выполнять первое, но будет выполнять последнее.

0

jQuery 2.x была прекращена поддержка IE < 9. Однако вы можете использовать несколько jQuery версия в одной веб-странице.

Это может быть сделано с помощью jQuery.noConflict()

+2

вам лучше использовать загрузку условного сценария по версии IE ... – Yuki

Смежные вопросы