In bundle con HTML5 è venuto un gran numero di qualità API e una delle migliori è stata l'API Fullscreen che fornisce un modo nativo per il browser di fare ciò che era possibile solo in flash per un lungo periodo: visualizzare la pagina Web in modalità schermo intero per l'utente.

Ciò è utile se stai visualizzando video o immagini o se stai sviluppando un gioco. In effetti, qualsiasi contenuto su cui concentrarsi può trarre vantaggio dall'API Fullscreen.

E soprattutto, l'API Fullscreen è davvero facile da usare ...

I metodi

Un numero di metodi fa parte dell'API Fullscreen:

element.requestFullScreen()

Questo metodo consente a un singolo elemento di andare a schermo intero.

Document.getElementById(“myCanvas”).requestFullScreen()

Questo farà sì che la tela con l'ID 'myCanvas' vada a schermo intero.

document.cancelFullScreen()

Questo semplicemente esce dalla modalità a schermo intero e ritorna alla vista del documento.

Document.fullScreen

Questo restituirà true se l'utente è in modalità a schermo intero.

document.fullScreenElement

Restituisce l'elemento che è attualmente in modalità a schermo intero.

Nota che questi sono i metodi standard, ma per il momento ti serviranno i prefissi dei fornitori per farlo funzionare in Chrome, Firefox e Safari (Internet Explorer e Opera al momento non supportano questa API).

Avvio della modalità a schermo intero

Poiché prima dobbiamo scoprire quale metodo riconosce il browser, creeremo una funzione che troverà il metodo giusto per il browser e la chiamerà:

//helper functionfunction fullScreen(element) {if(element.requestFullScreen) {element.requestFullScreen();} else if(element.webkitRequestFullScreen ) {element.webkitRequestFullScreen();} else if(element.mozRequestFullScreen) {element.mozRequestFullScreen();}}

Come puoi vedere tutta questa funzione è vedere se qualcuno dei metodi requestFullScreen restituisce true e quindi chiama la funzione per il browser corretto usando il suo prefisso del venditore.

Dopotutto, tutto ciò che dobbiamo fare è chiamare la funzione fullScreen in questo modo:

//for the whole pagevar html = document.documentElement;fullScreen(html);
 // For a specific element on the pagevar canvas = document.getElementById('mycanvas');fullScreen(canvas);

Questo invierà un messaggio all'utente che richiede il permesso di andare a schermo intero, se è accettato tutte le barre degli strumenti nel browser spariranno e l'unica cosa sullo schermo sarà la pagina web desiderata o il singolo elemento.

Annullamento della modalità a schermo intero

Questo metodo richiede anche i prefissi dei fornitori, quindi utilizzeremo la stessa idea di cui sopra e creeremo una funzione che determinerà il prefisso che dovremmo utilizzare in base al browser dell'utente.

Una cosa che noterete è che questo metodo non ha bisogno di alcun elemento passato perché a differenza del metodo requestFullScreen si applica sempre all'intero documento.

// the helper functionfunction fullScreenCancel() {if(document.requestFullScreen) {document.requestFullScreen();} else if(document .webkitRequestFullScreen ) {document.webkitRequestFullScreen();} else if(document .mozRequestFullScreen) {document.mozRequestFullScreen();}}//cancel full-screenfullScreenCancel();

La pseudo-classe CSS

In bundle con questa API JavaScript è arrivata una pseudo-classe CSS chiamata: a schermo intero e questa può essere utilizzata per modellare qualsiasi elemento nella pagina Web quando è in modalità a schermo intero, questo può tornare utile perché le dimensioni del browser aumentano leggermente quando in modalità schermo intero.

/* Changing something in the body */:-webkit-full-screen {font-size: 16px;}:-moz-full-screen {font-size: 16px;}
/*Only one element*/:-webkit-full-screen img {width: 100%;height: 100%;}:-moz-full-screen img {width: 100%;height: 100%;}

Tieni presente che non puoi separare i prefissi del venditore con virgole perché il browser non li leggerà:

/* This will not work */:-webkit-full-screen img,:-moz-full-screen img {width: 100%;height: 100%;}

Affinché gli stili siano applicati correttamente, è necessario inserire ogni prefisso del fornitore nel proprio blocco.

Conclusione

Questa API JavaScript è una delle meno conosciute fornite con HTML5, ma secondo me è sia efficace che semplice da implementare. L'esperienza utente migliorata di concentrarsi su un singolo elemento, in particolare per video, immagini e giochi vale le poche righe di codice coinvolte.

Hai implementato l'API Fullscreen ovunque? A quali usi puoi pensare? Fateci sapere nei commenti.

Immagine in primo piano / miniatura, immagine di messa a fuoco via Shutterstock.