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: