Сообщение Cannot read property ‘msie’ of undefined

Два вероятных случая могут генерировать данное сообщение в консоли браузера.

Раннее обращение к js плагину

Те или иные свойства могут быть недоступны, если вы обращаетесь к методам и свойствам до того как они определены. В данном случае обращение к свойству $.browser.msie происходит до полной готовности jQuery.

Решение простое — оберните ваш код в реализацию события ready.

Использование версии jQuery > 1.9

Если вы используете версию jQuery выше 1.9, то свойства jQuery.browser там просто нет, т.к. оно считается устаревшим, начиная с версии 1.3, а в версии 1.9 было удалено из библиотеки.

Никто не мешает его добавить самостоятельно.

Есть более комплексное решение в виде скрипта миграции. Там учитываются многие ушедшие в историю свойства и методы jquery, помогая вебмастерам пользоваться старыми скриптами.

Просто подключите его как один из плагинов jQuery.

Страница проекта на github — https://github.com/jquery/jquery-migrate

Написать комментарий

Мало букафф? Читайте есчо !

Перебор атрибутов HTML элемента в javascript

Февраль 17, 2016 г.

За использованием библиотеки jQuery как то забываешь о базовых свойствах и методах DOM  в javascript. Как получить весь набор аттрибутов HTML элемента? Получим ссылку на элемент HTML документа каким либо образом: [crayon-68500e78e9b70700624041/] ...

Читать

Как определить из скрипта, что fancybox popup уже открыт?

Декабрь 13, 2018 г.

Если пользуетесь jQuery плагином fancybox, то могли сталкиваться с тем, что необходимо увязать логику каких то других скриптов с фактом, показан ли попап ...

Читать

 

Комментарии к «Сообщение Cannot read property ‘msie’ of undefined»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий:

Много комментариев в “Сообщение Cannot read property ‘msie’ of undefined”

  1. oila:

    Очень, ОЧЕНЬ выручили! Спасибо, от всей души за наводку на jquery-migrate!