Два вероятных случая могут генерировать данное сообщение в консоли браузера.
Раннее обращение к js плагину
Те или иные свойства могут быть недоступны, если вы обращаетесь к методам и свойствам до того как они определены. В данном случае обращение к свойству $.browser.msie происходит до полной готовности jQuery.
Решение простое — оберните ваш код в реализацию события ready.
1 2 3 4 |
//я использую рекомендуемую в доках api.jquery.com вариацию: $( function () { //ваш код }) |
Использование версии jQuery > 1.9
Если вы используете версию jQuery выше 1.9, то свойства jQuery.browser там просто нет, т.к. оно считается устаревшим, начиная с версии 1.3, а в версии 1.9 было удалено из библиотеки.
Никто не мешает его добавить самостоятельно.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<script type="text/javascript" src="jquery-YOUR-VERSION.min.js"></script> <script type="text/javascript"> //один из примеров реализации jQuery.browser jQuery.browser = {}; (function () { jQuery.browser.msie = false; jQuery.browser.version = 0; if (navigator.userAgent.match(/MSIE ([0-9]+)\./)) { jQuery.browser.msie = true; jQuery.browser.version = RegExp.$1; } })(); </script> |
Есть более комплексное решение в виде скрипта миграции. Там учитываются многие ушедшие в историю свойства и методы jquery, помогая вебмастерам пользоваться старыми скриптами.
Просто подключите его как один из плагинов jQuery.
Страница проекта на github — https://github.com/jquery/jquery-migrate
Спасибо!
Очень, ОЧЕНЬ выручили! Спасибо, от всей души за наводку на jquery-migrate!