Таргетинг на определенные устройства 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??

Благодарить!


person Xtian    schedule 25.10.2011    source источник
comment
Вы смотрели на пользовательский агент и видели, что он содержит?   -  person epascarello    schedule 25.10.2011
comment
Строки агента BB содержат данные: useragentstring.com/pages/BlackBerry   -  person Gerben    schedule 25.10.2011


Ответы (1)


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

Пример:
**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(/BlackBerry\s[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 OS\s[0-9].[0-9].[0-9]/);
    console.log(match[0]);
</script>
person Michael D. Irizarry    schedule 25.10.2011
comment
Для BB OS 6 и 7 строка агента пользователя отличается и должна анализироваться по-разному (ваша ссылка показывает обе версии). - person MusiGenesis; 25.10.2011
comment
где в коде я бы это поместил ?? я думаю, это то, где я смущен - person Xtian; 25.10.2011
comment
@Xtian Вы ориентируетесь только на Blackberry 9700, и если это так, просто не делайте первую проверку (ua.indexOf(BlackBerry) ›= 0), просто сделайте вторую. - person Michael D. Irizarry; 26.10.2011