jQuery.browser

« Обратно к странице инструментов

jQuery.browser

Не рекомендуется к использованию начиная с jQuery 1.3 (используйте jQuery.support)
Содержит флаги агента пользователя, полученные из navigator.userAgent.
Доступные флаги:

  • safari
  • opera
  • msie
  • mozilla

Свойство доступно еще перед тем, как модель DOM будет готова к использованию, поэтому, есть возможность добавлять события ready только для конкретных браузеров.

Бывают ситуации, когда обнаружение объектов недостаточно достоверно, в таких случаях есть смысл использовать обнаружение браузера.

Сочетание обнаружения браузера и объектов дает достаточно надежные результаты.
Примеры:

Показывает информацию о браузере.

    jQuery.each(jQuery.browser, function(i, val) {
      $("<div>" + i + " : <span>" + val + "</span>")
                .appendTo(document.body);
    });
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.js"></script>

  <script>
  $(document).ready(function(){

    jQuery.each(jQuery.browser, function(i, val) {
      $("<div>" + i + " : <span>" + val + "</span>")
                .appendTo(document.body);
    });

  });
  </script>

  <style>
  p { color:green; font-weight:bolder; margin:3px 0 0 10px; }
  div { color:blue; margin-left:20px; font-size:14px; }
  span { color:red; }
  </style>
</head>
<body>
  <p>Browser info:</p>
</body>

</html>
Возвращает true если браузером является Microsoft Internet Explorer любой версии.
$.browser.msie
Выдает сообщение «this is safari!», только для браузеров safari.
if ($.browser.safari) {
   alert("this is safari!");
}
Name Type
Выдает сообщение «Do stuff for firefox 3″, только для браузеров Firefox 3.
jQuery.each(jQuery.browser, function(i, val) {
  if(i=="mozilla" && jQuery.browser.version.substr(0,3)=="1.9")
     alert("Do stuff for firefox 3")
});
Устанавливает свойство CSS для конкретного браузера.
jQuery.each(jQuery.browser, function(i) {
  if($.browser.msie){
     $("#div ul li").css("display","inline");
  }else{
     $("#div ul li").css("display","inline-table");
  }
});