Wykrywanie urządzeń mobilnych:
zwykłej przeglądarki wąchania
if (/mobile/i.test(navigator.userAgent)) {...}
jQuery.browser.mobile plug-in (wyczerpujący przeglądarkę wąchania)
Prosty test dla zdarzeń dotykowych
if ('ontouchstart' in window) {...}
zaawansowane badania zdarzeń dotykowych:
if (('ontouchstart' in window) || // Advanced test for touch events
(window.DocumentTouch && document instanceof DocumentTouch) ||
((hash['touch'] && hash['touch'].offsetTop) === 9)) {...}
Ewentualnie użyć onorientationchange
dla # 3 i # 4 powyżej.
Połączyć 1 lub więcej z nich (i dowolne inne podejścia) w razie potrzeby. Żadne z nich nie jest niezawodne.
Czy nie obsługuje większości systemów operacyjnych? W systemie Windows (także w innych systemach operacyjnych) można zmienić orientację w zależności od orientacji ekranu. Niektórzy używają ekranu 16: 9 w pozycji stojącej, orientacji pionowej i tak dalej. Dlatego nie sądzę, że będzie to dobry sposób na rozróżnienie między komputerami a telefonami komórkowymi. –
@ChristoferEliasson Chociaż zgadzam się, to nie jest najlepszy sposób na rozróżnienie między komputerem a telefonem komórkowym, ważną częścią jest wykrywanie funkcji zmiany orientacji ... która jest interesująca, aby dowiedzieć się, – Ian
W rzeczywistości wydaje się, że 'orientacjaorientacja' może być właściwością 'okno' jeśli to jest dostępne. Moja przeglądarka go nie ma, ale wydaje się być ważnym wydarzeniem - http://stackoverflow.com/questions/5284878/how-do-i-correctly-detect-orientation-change-using-javascript-and-phonegap- in-io – Ian