6

Czy istnieje natywny kod JavaScript (lub za pomocą biblioteki takiej jak JQuery/Modernizr itp.), Aby wykryć, czy urządzenie może zmienić orientację? Chciałbym to wykorzystać jako metodę rozróżniania komputerów i urządzeń przenośnych.Wykrywanie, czy urządzenie może zmienić orientację w kodzie JavaScript

Dzięki,

Shadi

+3

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. –

+0

@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

+2

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

Odpowiedz

16

Wykrywanie urządzeń mobilnych:

  1. zwykłej przeglądarki wąchania

    if (/mobile/i.test(navigator.userAgent)) {...} 
    
  2. jQuery.browser.mobile plug-in (wyczerpujący przeglądarkę wąchania)

  3. Prosty test dla zdarzeń dotykowych

    if ('ontouchstart' in window) {...} 
    
  4. 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.

Powiązane problemy