2013-02-16 24 views
5

Vorrei utilizzare la nuova funzione schermo intero di Safari in iOS6. Ora so che non è possibile attivare la funzione a schermo intero da javascript, e va bene, ma mi piacerebbe sapere quando l'utente passa alla modalità a schermo intero. (Per visualizzare un popup con il testo "questo sito è meglio visualizzato in modalità schermo intero" fino a quando l'utente diventa a schermo intero.)rilevamento schermo intero iOS6 Safari

Ho provato a impostare la finestra, il documento e un div "wrapper" (con larghezza e altezza impostata al 100% in css) onresize gli eventi (tramite javascript normale e tramite l'evento 'ridimensiona' di jQuery), ma non vengono attivati ​​quando si passa alla modalità a schermo intero.

Ho anche impostato un intervallo per controllare la modifica in larghezza e altezza dello schermo/documento/wrapper, ma non hanno mostrato alcuna modifica.

C'è qualche altro modo per determinare se l'utente è entrato (o sinistra) in modalità schermo intero?

risposta

0

Ok, non so davvero perché non ha funzionato prima, ma do la colpa alla nuova console di debug di Safari ios (che ora è richiesta per andare in safari sul tuo Mac), perché non sempre mostrava tutti i registri che ho inviato alla console.

Tuttavia, quando ho aggiunto i messaggi al corpo del documento html, gli eventi ERANO funzionanti. Associare l'evento 'resize' di jQuery alla finestra sembra essere l'opzione migliore.

L'altezza documento è qualcosa di circa 200 quando non è a schermo intero e quando è pieno schermo è 320.

La soluzione più semplice sembra funzionare. (Basta combinarlo con una funzione di modifica dell'orientamento, per rilevare se l'iPhone è in modalità orizzontale (http://ajaxian.com/archives/iphone-windowonorientationchange-code)).

$(window).on('resize', function(){ 
     if ($(this).height() > 300 && 
      (window.orientation == 90 || window.orientation == -90)) { 
      // Full screen! 
     } else { 
      // Exit full screen! 
     } 
    });