Para detectar si un dispositivo es capaz de cambiar de orientación en JavaScript

Hay un nativo de JavaScript (o mediante el uso de una librería como JQuery/Modernizr etc) de manera de detectar si un dispositivo es capaz de cambiar la orientación? Me gustaría utilizarlo como un método para diferenciar entre el escritorio y la móvil.

Gracias,

Shadi

No la mayoría de los sistemas operativos de apoyo que? En Windows (otro sistema operativo de escritorio, así que supongo) puede cambiar la orientación en función de la orientación de la pantalla. Algunos utilizan su pantalla de 16:9 en un pie, la orientación vertical y así sucesivamente. Por lo tanto, no creo que será una buena manera de diferenciar entre el escritorio y la móvil, por desgracia.
Si bien estoy de acuerdo que no es la mejor forma de diferenciar entre el escritorio y la móvil, la parte importante es la detección de la orientación de la herramienta de cambio de…que es interesante averiguar
En realidad, parece que onorientationchange puede ser una propiedad de window si está disponible. Mi navegador no lo tiene, pero me parece un evento válido – stackoverflow.com/questions/5284878/…

OriginalEl autor Shadi Almosri | 2012-12-10

1 respuesta

  1. 17

    La detección de dispositivos móviles:

    1. Simple browser sniffing

      if (/mobile/i.test(navigator.userAgent)) {...}
    2. jQuery.el navegador.móvil plug-in (exhaustiva browser sniffing)

    3. Prueba Simple para eventos de toque

      if ('ontouchstart' in window) {...}
    4. Prueba avanzada para eventos de toque:

      if (('ontouchstart' in window) ||     //Advanced test for touch events
         (window.DocumentTouch && document instanceof DocumentTouch) ||
         ((hash['touch'] && hash['touch'].offsetTop) === 9)) {...}

    La opción de utilizar onorientationchange para la #3 y #4 de arriba.

    Combine 1 o más de estos (y otros enfoques), según sea necesario. Ninguno de ellos son infalibles.

    OriginalEl autor Matt Coughlin

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *