#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) просто сделайте вторую.