Grazie alla fullscreen API di HTML5 è possibile offrire una user experience di tipo "immersive" anche nelle web application.
In particolari applicazioni, potrebbe essere necessario occupare tutto lo spazio disponibile sullo schermo, rimuovendo i bordi della finestra del browser, privilegiando il contenuto (come ad esempio un magazine o un video) e riadattandolo ad una modalità più idonea alla visualizzazione, magari nascondendo alcuni elementi del documento in favore di altri.
Per richiedere il passaggio alla modalità fullscreen del browser, è sufficiente richiamare il metodo requestFullscreen come di seguito illustrato:
$("#btnFull").bind('click', function(){ var docElm = document.documentElement; if (docElm.requestFullscreen) { docElm.requestFullscreen(); } else if (docElm.mozRequestFullScreen) { docElm.mozRequestFullScreen(); } else if (docElm.webkitRequestFullScreen) { docElm.webkitRequestFullScreen(); } });
A questo punto Il browser, per facilitare all'utente il ritorno alla modalità standard, visualizzerà delle istruzioni (personalizzate per vendor). Per convenzione la pressione del tasto Esc dovrebbe forzare il ritorno alla modalità standard, tuttavia è possibile farlo anche programmaticamente da un controllo ad-hoc richiamando il metodo exitFullscreen.
L'API prevede anche la possibilità di sottoscrivere l'evento sollevato durante la commutazione dalla modalità standard a fullscreen e viceversa:
document.addEventListener("fullscreenchange", function () { $("#navigation).toggle(!document.fullscreen); }, false);
Infine è possibile applicare stili differenti agli elementi della pagina, a seconda della modalità di visualizzazione impostata, semplicemente ricorrendo ad una pseudo-classe CSS come di seguito illustrato:
html:fullscreen { background: black; }
La specifica completa è disponibile qui: http://www.w3.org/TR/fullscreen/
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestire liste di tipi semplici con Entity Framework Core
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Filtrare i dati di una QuickGrid in Blazor con una drop down list
Come migrare da una form non tipizzata a una form tipizzata in Angular
Criptare la comunicazione con mTLS in Azure Container Apps
Utilizzare Tailwind CSS all'interno di React: installazione
Creare una custom property in GitHub
Migrare una service connection a workload identity federation in Azure DevOps
Change tracking e composition in Entity Framework
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
I più letti di oggi
- Migliorare l'organizzazione delle risorse con Azure Policy
- Memorizzare posizione e dimensioni della finestra di una applicazione OOB Silverlight 4.0
- Migliorare l'accessibilià delle immagini nella Universal Windows Platform
- Creare un adorner personalizzato per le trading cards di PivotViewer in Silverlight 5.0
- Mostrare popup modali in WinRT
- Usare le animazioni di sistema in Windows 8