Developpez.com - Rubrique JavaScript

Le Club des Développeurs et IT Pro

L'API JavaScript Full Screen

Article de Paul Underwood traduit par vermine

Le 2012-10-26 07:40:56, par vermine, Expert éminent sénior


Je vous propose une traduction de l'article anglophone Javascript FullScreen API de Paul Underwood.

N'hésitez pas à faire part de vos remarques, commentaires ou propositions d'améliorations !

L'API JavaScript Full Screen
  Discussion forum
5 commentaires
  • argyronet
    Rédacteur/Modérateur
    Bonjour,

    Excellent...
    Tu peux ajouter Maxthon 3.45.2000 qui supporte aussi cette API.

    Argy
  • sebcap26
    Membre à l'essai
    Bonjour et merci pour ce tuto.

    Plutôt que Screenfull, je recommande d'utiliser le polyfill "Fullscreen-API-Polyfill" qu'on trouve également sur GitHub (https://github.com/neovov/Fullscreen-API-Polyfill). Comme tout polyfill qui se respecte, il permet d'utiliser l'API de manière complètement standard sans se soucier des préfixes.

    Par contre si tu as une solution pour gérer de la même manière la pseudo classe CSS3 ":fullscreen", ca m'intéresse.

    D'autre part, aurais tu des informations "officielles" sur l'interaction entre le passage en fullscreen et l'événement "onresize" ? Est-il déclenché automatiquement ?
    (la réponse est oui pour un test sous firefox, mais j'aimerais bien savoir ce qu'il en est dans les standard).

    Merci.
  • gselles
    Candidat au Club
    Bonjour,
    Lorsque que je change dans la démo proposée
    <body> en <body bgcolor=red> le résultat est surprenant lorsqu'on passe en mode fullscreen.
    Le fond s'affiche en noir.
    Pourrai-je avoir une explication ou est-ce normal ou un bug.
    Merci d'avance.
    Le test est fait sur Kubuntu 16.04 avec Firefox 50 et Chromium.
  • vermine
    Expert éminent sénior
    Bonjour,

    Le fond d'écran par défaut du mode fullscreen est noir. Il est possible de le modifier mais le résultat ne sera peut-être pas celui attendu.

    Sache cependant qu'il faut rester logique entre l'utilisation du HTML et du HTML5. Donc à ne pas sortir de son contexte, dans notre exemple ici, qui date tout de même 2012, tu peux :

    • conserver ou déplacer ton test du bgcolor. En tout cas, il te faut effectivement une notion de couleur de fond quelque part. Cela peut se faire dans le fichier css fournit :
      Code css :
      1
      2
      3
      4
      5
      6
      body{ 
      	font-family: 'Lato', serif; 
      	color:#554; 
      	font-size:1.6em; 
      	background: #B59 
      }
    • ajouter ceci en début de fichier css afin que le body prenne bien tout l'écran en mode fullscreen (ce qui n'est pas le cas par défaut) :
      Code css :
      1
      2
      3
      html, body{ 
      	height:100% 
      }
    • ajouter un id à ton body ;
    • utiliser cet id au lieu de l'id du container comme paramètre des méthodes screenfull.request, screenfull.toggle, etc. qui sont appelées dans la balise script du HTML. Par exemple :
      Code javascript :
      1
      2
      3
      $('#request').click(function() { 
      	screenfull.request( $('#idBody')[0] ); 
      });


    Ce qu'il faut comprendre avec le fullscreen, c'est qu'on peut déterminer quel élément de la page va être en fullscreen. Dans la démonstration de l'article, l'élément choisit est le container. C'est pourquoi tu ne vois pas ce qui est en dehors du container, à savoir le fond du body.

    Je n'ai testé qu'avec Chrome. Je ne certifie pas que cette solution soit compatible avec tous les navigateurs mais c'est déjà une piste et une petite explication.
  • melka one
    Membre expérimenté
    c'est tout de même le gros bazars cette api