Сообщение 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 документ к заданной позиции

Июль 6, 2018 г.

Рассмотрим как программно установить позицию скролла документа ровно в начале нужного вам HTML контейнера. Чтобы сделать переход плавно, можно использовать функцию jQuery().animate(). Суть процесса такова - вычисляем вертикальную позицию требуемого ...

Читать

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

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

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

Читать

 

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

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



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

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

  1. oila:

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