jQuery Mobile orientación de locking

Hola chicos, estoy usando phonegap y jquery mobile para construir una aplicación para un teléfono Android. ¿Existe la posibilidad de bloquear la orientación en una página? Por ejemplo, la página “mapa” está cargada y la orientación está bloqueada en modo “paisaje“.

No realmente, creo En xCode para aplicaciones iOS no es posible. La única solución que se me ocurre es rotar tu cuerpo o una envoltura según window.orientation

 $(window).bind("orientationchange", function(){ var orientation = window.orientation; var new_orientation = (orientation) ? 0 : 180 + orientation; $('body').css({ "-webkit-transform": "rotate(" + new_orientation + "deg)" }); }); 

Esta es una forma arriesgada, pero piensa que es la única manera ..

Espero que esto ayude, por favor házmelo saber!

Ver: http://jsfiddle.net/aalouv/sABRQ/1/


Alternativa que puede vincular al evento de cambio de tamaño de la ventana.

 $(window).bind("resize", function(){ var orientation = window.orientation; var new_orientation = (orientation) ? 0 : 180 + orientation; $('body').css({ "-webkit-transform": "rotate(" + new_orientation + "deg)" }); }); 

Hace un tiempo escribí este pequeño guión: arregla el error de callback de tamaño múltiple en iOS safari y el error de orientación / no / tardía / desencadenante temprano (1) en android.

(1) ¿A veces no se dispara dos veces antes y algunas veces después de que el navegador tiene cambios de ancho + alto? ¡Con cable!

 if (!(/iphone|ipad/gi).test(navigator.appVersion)) { $(window).unbind("resize").bind("resize", function() { $(window).trigger("orientationchange"); }); } 

Si no es un iphone o ipad, está activando el evento de orientación de cambio en la ventana.

Entonces, cuando enlazará cualquier función, cambiará el tamaño de la orientación.

Intenté modificar manifest.xml y funciona. Simplemente agrega el atributo android: screenOrientation = “landscape” a tu etiqueta de actividad como se muestra a continuación: