Trucsweb.com

Trucsweb.com

HTML

HTML5

RDFFav

HTML5 - API Fullscreen (plein écran)

Il existe en HTML5, moyennant l’autorisation de l’usager, une fonctionnalité requestFullscreen qui permet d’afficher la page en plein écran.requestFullscreen, mozRequestFullScreen, webkitRequestFullscreen, msRequestFullscreenHTML5 - API Fullscreen (plein écran)

API HTML5 Plein écran

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 :


Exemple plein écran

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
, Analyste programmeurConception oznogco multimédia (https://oznogco.com), Trucsweb
Dernière mise à jour :

Commentaires

  • Bonjour il manque une accolade dans cette partie du code complet : if (document.fullscreenElement) { if (!document.fullscreenElement) <strong>{</strong> monElement.requestFullscreen(); } else { document.exitFullscreen(); } }
    64x64
    wolwie
    Date (GMT) : 2018-02-28 09:53:37 (UTC +0000)
    Date local : Wed Feb 28 2018 10:55:13 GMT+0100 (Paris, Madrid)
    • Effectivement, Merci pour l'information.
      64x64
      oznog
      Date (GMT) : 2018-02-28 12:10:43 (UTC +0000)
      Date local : Wed Feb 28 2018 07:12:20 GMT-0500 (Est)


    • Bonjour, ça fonctionne bien cette API mais lorsque je crée un lien de redirection vers une autre page web, la page souhaitée retourne en mode normal et donc pas en plein écran! Quel est le problème? Une idée peut-être? Merci d'avance.
      64x64
      Alain
      Date (GMT) : 2021-05-01 09:44:13 (UTC +0000)
      Date local : Sat May 01 2021 11:50:09 GMT+0200 (heure d’été d’E
      • Salut, C'est normal, les navigateurs font tout ce qu'ils peuvent pour sortir l'utilisateur du mode plein écran. Ils développent des mécanismes pour sortir du mode plein écran dès que possible. N'importe qu'elle lien dans la page, mais aussi un lien en JavaScript avec window.location ferme le mode plein écran. Une solution, plutôt limitée, consiste à utiliser l'historique du navigateur. Sinon, la seule solution valable est de convertir la page en application HTML5 ou une Applications Web Progressives (AWP). Mais c'est toute une tâche pour un si petit effet. Note que le passage au plein écran est dur sur l'écran (et les nerfs de l'utilisateur)... Personnellement, j'utilise le mode plein écran pour une présentation. Une galerie de photo par exemple. Et encore, pour une collection au complet, pas pour magnifier une seule image. Et bien sûr, on peut toujours faire une véritable application pour tablette ou mobile. Il en existe déjà pour transformer une tablette en borne interactive par exemple. On peut y ouvrir un site Web au complet sans problème... https://developer.mozilla.org/fr/docs/Web/Progressive_web_apps
        64x64
        oznog
        Date (GMT) : 2021-05-01 14:22:14 (UTC +0000)
        Date local : Sat May 01 2021 10:28:11 GMT-0400 (heure avancée d


      Ajouter un commentaire
      Votre adresse de courriel ne sera pas publiée. * L'astérisque indique les champs obligatoires.
      Votre évaluation du tutoriel

      9.25/10 sur 4 revues.
             Visites : 31090 - Pages vues : 32661
      X

      Trucsweb.com Connexion

      Connexion

      X

      Trucsweb.com Mot de passe perdu

      Connexion

      X

      Trucsweb.com Conditions générales

      Conditions

      Responsabilité

      La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

      Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

      Droit applicable et juridiction compétente

      Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

      X

      Trucsweb.com Trucsweb

      X

      Trucsweb.com Glossaire

      X

      Trucsweb.com Trucsweb

      X

      Trucsweb.com Trucsweb

      Conditions

      Aucun message!

      Merci.

      X
      Aucun message!
      X

      Trucsweb.com Créer un compte

      Créer un compte

      .
      @