Целевые BlackBerry с помощью User Agent

#javascript #jquery #blackberry #browser-detection

#javascript #jquery ( jquery ) #blackberry #обнаружение браузера

Вопрос:

Я нашел этот javascript для обнаружения устройств Blackberry:

 <script type="text/javascript">
    var ua = navigator.userAgent;
    if (ua.indexOf("BlackBerry") >= 0) {
        if (ua.indexOf("Version/") >= 0) { // ***User Agent in BlackBerry 6 and BlackBerry 7
            Verposition = ua.indexOf("Version/")   8;
            TotLenght = ua.length;
            document.write("Jorgesys  BB OS Version :: "   ua.substring(Verposition, Verposition   3));
        }
        else {// ***User Agent in BlackBerry Device Software 4.2 to 5.0
            var SplitUA = ua.split("/");
            document.write("Jorgesys BB OS Version :: "   SplitUA[1].substring(0, 3));
        }
    }
</script>
 

НО необходимо настроить таргетинг на конкретные BlackBerry, которые поддерживаются:

Blackberry: 9630
9700
8900
9000

Возможно ли это настроить таргетинг только на эти Blackberry??

Спасибо!

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

1. Вы смотрели на пользовательский агент и видели, что он содержит?

2. Строки агента BB, похоже, содержат данные: useragentstring.com/pages/BlackBerry

Ответ №1:

Да, у каждого агента есть своя версия blackberry.

Пример:
**BlackBerry9000**/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179

Более подробная информация на веб-сайте разработчиков.
http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/How-to-detect-the-BlackBerry-Browser/ta-p/559862?IID=DEVSF30

используйте простое регулярное выражение, чтобы получить версию.

 <script type="text/javascript">
    var ua = "BlackBerry9000/5.0.0.93 Profile/MIDP-2.0 Configuration/CLDC-1.1 VendorID/179";
    var match = ua.match(/^BlackBerry[0-9]*/);
    console.log(match[0]);

    var ua = "Mozilla/5.0 (BlackBerry; U; BlackBerry 9700; en-US) AppleWebKit/534.11  (KHTML, like Gecko) Version/X.X.X.X Mobile Safari/534.11 ";
    var match = ua.match(/BlackBerrys[0-9]*/);
    console.log(match[0]);

    var ua = "Mozilla/5.0 (PlayBook; U; RIM Tablet OS 1.0.0; en-US) AppleWebKit/534.8  (KHTML, like Gecko) Version/0.0.1 Safari/534.8 ";
    var match = ua.match(/RIM Tablet OSs[0-9].[0-9].[0-9]/);
    console.log(match[0]);
</script>
 

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

1. Для BB OS 6 и 7 строка useragent отличается и должна быть проанализирована по-разному (ваша ссылка показывает обе версии).

2. где в коде я бы это поместил?? я думаю, это то, где я запутался

3. @Xtian Вы бы нацелились только на Blackberry 9700, и если это так, просто не выполняйте 1-ю проверку, (ua.indexOf («BlackBerry»)> = 0) просто сделайте вторую.