Il existe en HTML5, moyennant l’autorisation de l’usager, l’API Fullscreen (plein écran) qui permet d’afficher la page en plein écran. C’est à dire en utilisant l’ensemble de l’écran de l’utilisateur sans aucune barre d’information, tant les boutons, le menu que la barre du titre. L’API permet d’ouvrir la page Web en entier, mais aussi tout élément de la page pour qu’il occupe entièrement l’écran, sans l’interface utilisateur du navigateur.
ATTENTION - La requête de « requestFullscreen » doit être appelée depuis un gestionnaire d’évènements, sinon elle sera refusée. Question d’empêcher l’ouverture automatique en plein écran. Dans mon exemple, l’ouverture se fait en cliquant sur un bouton. Exemple :
Compatibilité
Malheureusement, cette fonctionnalité n’est pas encore supportée par l’ensemble des navigateurs. Pour ce faire, vous devez spécifier le préfixe du navigateur. Portez une attention toute particulière à la case. En effet, plusieurs versions antérieures n’utilisent pas les mêmes mnémoniques, changeants parfois une simple majuscule pour une minuscule!
// HTML5 element.requestFullscreen(); // Mozilla element.mozRequestFullScreen(); // Chrome element.webkitRequestFullscreen(); // Internet Explorer/Edge element.msRequestFullscreen();
Détection
Détecter si le navigateur supporte l’API fullscreenElement
.
if (document.fullscreenElement) { // Le Navigateur supporter l’API } else { // Le Navigateur NE supporter PAS l’API }
Ouvrir en plein écran
Pour ouvrir le plein écran il faut utiliser la méthode requestFullscreen()
.
if (!document.fullscreenElement) { document.documentElement.requestFullscreen(); }
Fermer le plein écran
Pour fermer le plein écran il faut utiliser la méthode exitFullscreen()
. Cette fonction permet d’ouvrir et de fermer le plein écran.
if (document.fullscreenElement) { if (!document.fullscreenElement) { document.documentElement.requestFullscreen(); } else { document.exitFullscreen(); } }
Code complet
<!doctype html> <html> <head> <title>Test API HTML5 : Fullscreen (Plein écran)</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <meta name="dcterms.publisher" content="Conception Oznogco Multimédia (http://oznogco.com)" /> <style> html { background: #f0f0f0; -webkit-font-smoothing: antialiased; } .container { width:100%; max-width: 500px; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 30px 20px; background: #fcfcfc; text-align: center; box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff; } #oMonImage { width: 100%; height: auto; cursor: pointer; } </style> </head> <body> <main class="container"> <section> <h1>L'API HTML5 FullScreen<br /><small>(Plein écran)</small></h1> <p> <a href="#" onClick="twPleinEcran();" id="monBouton">Ouvrir/Fermer le mode « Plein écran »</a><br /> <a href="#" onClick="twPleinEcran(document.getElementById('oMonImage'));">Ouvrir/Fermer l'image en mode « Plein écran </a><br /> ou cliquez l'image pour la visualiser en mode « Plein écran » </p> <img id="oMonImage" onClick="twPleinEcran(this);" src="https://neural3.com/documents/images/2017/2015-05-31-8.jpg" /> </section> </main> <script> function twPleinEcran(_element) { var monElement = _element||document.documentElement; if (document.mozFullScreenEnabled) { if (!document.mozFullScreenElement) { monElement.mozRequestFullScreen(); } else { document.mozCancelFullScreen(); } } if (document.fullscreenElement) { if (!document.fullscreenElement) { monElement.requestFullscreen(); } else { document.exitFullscreen(); } } if (document.webkitFullscreenEnabled) { if (!document.webkitFullscreenElement) { monElement.webkitRequestFullscreen(); } else { document.webkitExitFullscreen(); } } if (document.msFullscreenEnabled) { if (!document.msFullscreenElement) { monElement.msRequestFullscreen(); } else { document.msExitFullscreen(); } } } </script> </body> </html>
Références
- Utiliser le mode plein écran (En anglais).
- L’API JavaScript Full Screen
- How to Use the HTML5 Full-Screen API (Again) par Craig Buckler
- screenfull.js par Sindre Sorhu (Page d’exemple)