Каков наилучший способ определения планшета webOS с помощью jQuery / plain JS? - PullRequest
1 голос
/ 24 августа 2011

Я ищу лучший способ обнаружения планшета webOS с помощью простого JS и, если проще, также с помощью jQuery.Пользовательский агент планшета должен выглядеть примерно так:

User-Agent:Mozilla/5.0 (webOS/1.3; U; en-US) AppleWebKit/532.2 (KHTML, like Gecko) Version/1.0 Safari/532.2 Desktop/1.0

Так что простой способ будет выглядеть так:

var deviceAgent = navigator.userAgent.toLowerCase();
webOS = deviceAgent.match(/(webos)/);

Это лучший способ сделать это уже?Скорее всего, вы скажете: «Определите, нужна ли вам функция, но убедитесь, что она не будет работать для меня, потому что нужная функция присутствует, но не работает, как на любом настольном компьютере, поэтому я просто хочу знать,это устройство WebOS или нет.

Обновление: только что обнаружил, что планшет действительно использует другой пользовательский агент:

Mozilla/5.0 (hp-tablet; Linux; hpwOS/3.0.0; U; xx-xx) AppleWebKit/534.6 (KHTML, like Gecko) wOSBrowser/233.48 Safari/534.6 TouchPad/1.0

Так что выше, скорее всего, должно быть:

var deviceAgent = navigator.userAgent.toLowerCase();
webOS = deviceAgent.match(/(webos|hpwos)/);

Ответы [ 2 ]

2 голосов
/ 14 января 2012

Вот функция в PHP, которая обнаружит WebOS и любое другое мобильное устройство, которое вам может понадобиться. Менее 1 КБ в коде =)

function detectMobileDevice() {
    if(preg_match('/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i', $_SERVER['HTTP_USER_AGENT'])) {
        return true;
    }
    else {
        return false;
    }
}

если вы хотите использовать ТОЛЬКО webOS, измените строку 2 на:

if(preg_match('/(webos)/i', $_SERVER['HTTP_USER_AGENT'])) {

использовать:

if(detectMobileDevice()) {
    // If mobile device detected, do something
}
else {
   // Otherwise, do something else...
}

, если вам нужно больше деталей, посетите здесь: http://www.justindocanto.com/scripts/detect-a-mobile-device-in-php-using-detectmobiledevice

0 голосов
/ 24 августа 2011

Я не знаю, сможете ли вы обнаружить какие-либо функции, которые будут идентифицировать только WebOS.Он основан на WebKit, поэтому все остальные платформы на основе WebKit будут иметь те же функции.Глядя на источник Zepto.js , они делают то же самое, что и вы:

ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/)

(2-й захват - версия)

От detect.js

...