In un aggiornamento per.. una vecchia domanda ('12), penso che questo possa aiutare un sacco di gente!
Non ho trovato un vero modo di bloccare la rotazione del dispositivo, ma ho trovato un'alternativa perfetta, che ho visto alcune persone fare troppo.
Opzione A. un semplice avviso
Utilizzando un semplice script jQuery, è possibile rilevare l'orientamento del dispositivo.
if(window.innerHeight > window.innerWidth){
alert("Please use Landscape!");
}
Bene, un semplice avviso è facile, ma la notifica può essere molto più bella!
Opzione B. Una notifica bella immagine
Basta aggiungere un elemento fixed
alla tua pagina che viene visualizzata quando l'orientamento è cambiato.
HTML
<div class="turnDeviceNotification"></div>
CSS
.turnDeviceNotification {
position:fixed;
top: 0;
left:0;
height:100%;
width:100%;
display: none;
}
È possibile aggiornare questo elemento con il testo, o semplicemente collegarlo ad un background-image by
.turnDeviceNotification {
background-image:url('../images/turnDevice.jpg');
background-size:cover;
}
Semplicemente Inserisci un bello sfondo per la tua cartella di immagini, come quella qui sotto.
Notato che l'oggetto ha un display: none
? Questo perché altrimenti sarebbe mostrato anche in modalità verticale.Ora, tutto ciò che devi fare è usare lo script qui sotto, quindi l'oggetto è mostrato solo in modalità orizzontale.
jQuery(window).bind('orientationchange', function(e) {
switch (window.orientation) {
case 0:
$('.turnDeviceNotification').css('display', 'none');
// The device is in portrait mode now
break;
case 180:
$('.turnDeviceNotification').css('display', 'none');
// The device is in portrait mode now
break;
case 90:
// The device is in landscape now
$('.turnDeviceNotification').css('display', 'block');
break;
case -90:
// The device is in landscape now
$('.turnDeviceNotification').css('display', 'block');
break;
}
});
Questo mostrerà la notifica solo quando l'orientamento del dispositivo è cambiato in orizzontale. ![Sample image notification](https://i.stack.imgur.com/sValK.png)
Che dire di una richiesta che viene chiedendo loro di tornare al paesaggio. Ho visto questo sull'app per iPad di Game Inform: http://stackoverflow.com/questions/17972625/how-can-i-prompt-user-to-rotate-device-if-in-a-certain-mode-landscape- or-portrai – KevinOrin
Ho letto che è possibile ruotare l'intero corpo. Se l'utente ruota di 90 gradi, ruoti anche tutti i contenuti in quel modo ... il che suona ragionevole. Comunque sto cercando di trovare un buon esempio per giocare perché ho alcune domande rimanenti che solo la pratica può risolvere. –