2012-06-25 15 views
5

Eventuali duplicati:
Mobile site - force landscape only/no auto-rotateforzare l'orientamento del dispositivo in orizzontale tramite css/js/html?

ho visto un paio di posts di questo, ma non realmente trovato una risposta definitiva, piuttosto un paio di soluzioni alternative suggerite.

È possibile forzare l'orientamento del dispositivo tramite una pagina Web? Io: posso "marmorizzare" il mio sito come paesaggio?

Grazie mille

+1

Non c'è ancora niente da consentire, ma è stato proposto. Vedi [The Screen Orientation API] (http://dvcs.w3.org/hg/screen-orientation/raw-file/tip/Overview.html). – sachleen

risposta

3

È possibile con JavaScript. In primo luogo verificare se supportata:

if (window.DeviceOrientationEvent) { 
    console.log("DeviceOrientation is supported"); 
} 

Quindi aggiungere eventListener se si vuole fare qualcosa a rotazione:

window.addEventListener('deviceorientation', function(eventData) {}); 

credo che si dovrebbe innescare il vostro fianco per rispondere quando viene acceso. Non è possibile attivare l'orientamento, perché il dispositivo lo fa. Quindi quando il tuo sito web viene caricato in modalità orizzontale, dovresti rilevarlo e renderizzare il sito in modalità orizzontale (carica un css personalizzato?) E poi quando il visitatore gira il telefono o il tablet l'ascoltatore può ri-renderizzare il tuo sito con un nuovo CSS file attraverso JavaScript (jQuery consigliato per queste situazioni).

Cosa si può fare anche nel sito non c'è molta dinamica al suo interno, puoi semplicemente ricaricare la pagina con la chiamata al metodo GET per cambiare l'orientamento, ma ovviamente questa può essere un'opzione più lenta. Re-rendering di un intero sito Web con JavaScript su un dispositivo mobile molto spesso può anche riscaldare il telefono per quello che ho provato prima sul mio iPhone. Il motore JavaScript è veloce ed estrae molta CPU per rendere tutto senza problemi, ma consuma molte risorse in poco tempo, rendendo difficile per un dispositivo mobile mantenere costantemente i rendering. Il miglior esempio è quando si crea un gioco HTML5 con chiamate JavaScript. Un iPhone può alla fine scaldarsi come un gioco in una App: P.

Problemi correlati