Maison  >  Article  >  interface Web  >  Méthodes, propriétés et événements JavaScript pour contrôler le plein écran du navigateur et diverses compétences modes_javascript du navigateur

Méthodes, propriétés et événements JavaScript pour contrôler le plein écran du navigateur et diverses compétences modes_javascript du navigateur

WBOY
WBOYoriginal
2016-05-16 15:24:181692parcourir

Le plein écran en HTML 5 peut actuellement être utilisé dans des navigateurs autres que IE et Opera. Il est parfois utilisé pour les API plein écran, les jeux, etc. C'est très utile. Examinons d'abord les API courantes

element.requestFullScreen()

Fonction : Demander le plein écran d'un certain élément

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

Voici l'ID de l'élément à demander en plein écran

Quitter le plein écran

document.cancelFullScreen()

Document.fullScreen

Renvoie vrai si l'utilisateur est en mode plein écran

document.fullScreenElement

Renvoie l'élément actuellement en mode plein écran

Le code suivant active le mode plein écran :

function fullScreen(element) { 
  if(element.requestFullScreen) { 
  element.requestFullScreen(); 
 } else if(element.webkitRequestFullScreen ) { 
   element.webkitRequestFullScreen(); 
  } else if(element.mozRequestFullScreen) { 
  element.mozRequestFullScreen(); 
 } 
 } 

Le code suivant permet d'appeler le mode plein écran pour toute la page

Mais pour être honnête, il y a un problème avec le PLEIN ÉCRAN, qui peut facilement conduire à une tromperie, comme dans
http://feross.org/html5-fullscreen-api-attack/, il existe une bonne DEMO pour tromper, par exemple, un lien dit http: //www.bankofamerica.com, tout le monde pense qu'il s'agit de Bank of America. Une fois entré, cela trompera les gens car il utilise l'API plein écran
.

$('html').on('click keypress', 'a', function(event) { 
  // 不响应真正的A HREF点击事件 
 event.preventDefault(); 
  event.stopPropagation(); 
  // Trigger fullscreen 
  if (elementPrototype.requestFullscreen) { 
   document.documentElement.requestFullscreen(); 
  } else if (elementPrototype.webkitRequestFullScreen) { 
   document.documentElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); 
  } else if (elementPrototype.mozRequestFullScreen) { 
   document.documentElement.mozRequestFullScreen(); 
  } else { 
   // 
  } 
  //显示假的UI 
  $('#menu, #browser').show(); 
  $('#target-site').show(); 
 }); 

Ce qui suit est une introduction aux méthodes, propriétés et événements de JavaScript pour contrôler le mode plein écran de divers navigateurs

La fonction de démarrage du mode plein écran du navigateur requestFullscreen doit toujours être accompagnée du préfixe du dialecte js de chaque navigateur. Je pense que le code suivant vous demandera de passer beaucoup de recherches pour le rassembler :

Le code est le suivant :

// 判断各种浏览器,找到正确的方法
function launchFullscreen(element) {
 if(element.requestFullscreen) {
  element.requestFullscreen();
 } else if(element.mozRequestFullScreen) {
  element.mozRequestFullScreen();
 } else if(element.webkitRequestFullscreen) {
  element.webkitRequestFullscreen();
 } else if(element.msRequestFullscreen) {
  element.msRequestFullscreen();
 }
}
// 启动全屏!
launchFullScreen(document.documentElement); // 整个网页
launchFullScreen(document.getElementById("videoElement")); // 某个页面元素

Appelez la méthode plein écran sur l'élément de page que vous souhaitez afficher en plein écran. La fenêtre du navigateur deviendra plein écran, mais il sera d'abord demandé à l'utilisateur d'autoriser le mode plein écran. Sachez que les utilisateurs rejetteront très probablement le mode plein écran. Si l'utilisateur exécute en mode plein écran, la barre d'outils du navigateur et les autres menus de boutons seront masqués et votre page couvrira tout l'écran.

Quitter le mode plein écran

Cette méthode exitFullscreen (qui nécessite également le préfixe du navigateur) fera sortir le navigateur du mode plein écran et passera en mode normal.

Le code est le suivant :

// 判断浏览器种类
function exitFullscreen() {
 if(document.exitFullscreen) {
  document.exitFullscreen();
 } else if(document.mozCancelFullScreen) {
  document.mozCancelFullScreen();
 } else if(document.webkitExitFullscreen) {
  document.webkitExitFullscreen();
 }
}
// 退出全屏模式!
exitFullscreen();

Il convient de noter que exitFullscreen ne peut être appelé que par l'objet document, et non par l'objet transmis lors du démarrage du mode plein écran.

Propriétés et événements en plein écran

Malheureusement, les propriétés plein écran et les méthodes associées de l'événement nécessitent également l'ajout du préfixe du navigateur, mais je pense que cela ne sera pas nécessaire de sitôt.

1.document.fullScreenElement : Élément de page Web affiché en plein écran.
2.document.fullScreenEnabled : déterminez s'il est actuellement en plein écran.

L'événement fullscreenchange est déclenché lorsque le plein écran est démarré ou lorsque le plein écran est quitté :

Le code est le suivant :

var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement;
var fullscreenEnabled = document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled;

Vous pouvez toujours utiliser la méthode ci-dessus pour déterminer le type de navigateur pour préfixer cet événement.

Style CSS plein écran

Divers navigateurs fournissent une règle de style CSS très utile pour le mode plein écran :

Le code est le suivant ::

-webkit-full-screen {

 /* properties */
}
:-moz-full-screen {
 /* properties */
}
:-ms-fullscreen {
 /* properties */
}
:full-screen { /*pre-spec */
 /* properties */
}
:fullscreen { /* spec */
 /* properties */
}
/* deeper elements */
:-webkit-full-screen video {
 width: %;
 height: %;
}
/* styling the backdrop*/
::backdrop {
 /* properties */
}
::-ms-backdrop {
 /* properties */
}

Dans certains cas, les styles WebKit peuvent causer des problèmes, et vous feriez mieux de garder ces styles simples.

Ces API plein écran sont super simples et super utiles. J'ai vu cette API pour la première fois dans la démo BananaBread de MDN. C'était un jeu de tir qui devait juste être en plein écran. Il utilisait l'écoute d'événements pour détecter l'état plein écran. N'oubliez pas ces API utiles et vous pourrez les utiliser en cas de besoin.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn