Обнаружение версии браузера - PullRequest
3 голосов
/ 09 января 2009

У меня есть спецификация в моем текущем проекте, которая требует от нас сообщить пользователю, какие браузеры лучше всего использовать веб-приложение. Если их текущей версии браузера, которую они используют, нет в нашем списке «идеальных» браузеров, мы хотим отобразить сообщение.

Как лучше всего проверить конкретную версию браузера пользователя. Я знаю следующее с использованием jQuery, но это не помогает с конкретными версиями.

$(document).ready(function() {
   var b = '';
   $.each($.browser, function(i, val) {
       if (i=='safari' && val==true) { b = 'safari'; }
       if (i=='opera' && val==true) { b = 'opera'; }
       if (i=='msie' && val==true) { b = 'msie'; }
       if (i=='mozilla' && val==true) {b = 'mozilla'; }
   });

   //Do Something With b, Like $('#dis').html(b);
}); 

Мы хотим сказать, является ли ваш браузер Firexfox 2 или более поздней версии или IE6 или более новой версии?

Ответы [ 4 ]

4 голосов
/ 09 января 2009

Также проверьте наличие $ .browser.version в docs.jquery.com

Может вернуть 2.0 для Firefox 2.x.x, проверьте документы:)

4 голосов
/ 09 января 2009

Здесь - плагин JQuery, который поможет

2 голосов
/ 09 января 2009

Проверьте Обнаружение агента пользователя YUI .

РЕДАКТИРОВАТЬ: Теперь, когда я рассказал вам, как, я просто хочу убедиться, что вы знаете, что это обычно считается антипаттерном, верно? Если вы можете, я бы порекомендовал не делать что-то подобное, но я понимаю, что это не всегда вариант.

0 голосов
/ 05 февраля 2015

Internet Explorer 10 и выше версии ведут себя иначе, чем IE 9 и ниже. При использовании JavaScript вы должны обрабатывать эти сценарии по-разному. Следующий код работал для меня:)

    //MSStream object supported only for IE 10 and 11 (hope this will work for above IE 11 too .. )
    var isIE10or11 = window.MSStream;

    //FormData object allow you to send form data as key and value pairs with ajax requests. Supported in modern browsers.
    var isFormDataSupported = (window.FormData !== undefined);

    if(isIE10or11 && isFormDataSupported){
       alert('IE 10 or 11');
    }
    else if(!isIE10or11  && isFormDataSupported){
       alert('HTML 5 browser Excluding IE');
    }
    else{
       //Neither supports MSStream nor FormData object
       alert('IE Version 9 or below');
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...