jQuery для добавления Browser-Name в css-класс - PullRequest
2 голосов
/ 19 января 2011

Я использую jQuery для обнаружения Агента браузера пользователя и затем добавляю имя браузера в качестве css-класса к телу. Это работает как магия с webkit и mozilla ... но с msie это не получается - но не знаю почему. Для msie мне также нужно добавить не только «msie», но и один класс с номером версии используемого msie (например, «msie7» или «msie8»).

Все работает, только раздел msie не работает!

мой (полный) jQuery-код:

    <script type="text/javascript">
<!--
(function($){
    $(function(){

        var $copy = $('div.SPA_printcontact').clone();
        var $body = $('body');

        $copy.insertAfter('#printdate');

        if($.browser.msie) {
            $body.addClass('msie')
            var userAgent = userAgent.substring(0,userAgent.indexOf('.'));
            var version = userAgent;
            $body.addClass('msie' + version)
        }
        if($.browser.webkit) {
            $body.addClass('webkit')
        }
        if($.browser.mozilla) {
            $body.addClass('mozilla')
        }

    });
}(jQuery));
-->
</script>

Ответы [ 4 ]

4 голосов
/ 19 января 2011

http://api.jquery.com/jQuery.browser/

Попробуйте использовать $ .browser.version, чтобы получить номер версии вместо

РЕДАКТИРОВАТЬ: Это устарело в jQuery v1.9 и выше.Пожалуйста, обратитесь к ответу Тома ниже.

2 голосов
/ 19 января 2011

Глобального объекта не существует userAgent. Он является членом navigator, поэтому используйте вместо него navigator.userAgent или версию, предоставленную jQuery, как предложено Mohib Sheth

0 голосов
/ 05 декабря 2013

Вы можете использовать Detectizr

https://github.com/barisaydinoglu/Detectizr

Detectizr - расширение Modernizr для обнаружения

  • устройство
  • модель устройства
  • ориентация устройства
  • Размер экрана
  • операционная система
  • версия операционной системы
  • полная версия операционной системы
  • браузер
  • версия браузера
  • движок браузера
  • плагины для браузера

Обнаружение этих наборов не является обязательным и может быть отключено.

в качестве альтернативы существует также http://rafael.adm.br/css_browser_selector/, на котором основан Detectizr (более легкий вес)

0 голосов
/ 19 января 2011

Пожалуйста, попробуйте использовать $ ('body'). AddClass (), если это не работает, затем попробуйте $ ('body'). Attr ("class", msie + version).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...