关键词搜索

源码搜索 ×
×

JavaScript require.js实现全屏和退出全屏效果

发布2019-10-11浏览1269次

详情内容

目录

全屏和退出全屏

浏览器全屏API

语法

示例

API规格

浏览器兼容性

参阅


 

全屏和退出全屏

引入require.js,具体怎么操作就不说了,下面来看一个全屏的功能JS:

  1. define([], function() {
  2. 'use strict';
  3. var _exitFullScreen = false;
  4. var buttonEL;
  5. var continerEL;
  6. function init(option){
  7. continerEL = document.getElementById(option.continerId);
  8. buttonEL = document.getElementById(option.buttonId);
  9. buttonEL.onclick = _fullscreen;
  10. }
  11. function _fullscreen(element){
  12. if(!_exitFullScreen){//当前非全屏状态,则进入全屏
  13. //W3C
  14. if (continerEL.requestFullscreen) {
  15. continerEL.requestFullscreen();
  16. }
  17. //FireFox
  18. else if (continerEL.mozRequestFullScreen) {
  19. continerEL.mozRequestFullScreen();
  20. }
  21. //Chrome等
  22. else if (continerEL.webkitRequestFullScreen) {
  23. continerEL.webkitRequestFullScreen();
  24. }
  25. //IE11
  26. else if (continerEL.msRequestFullscreen) {
  27. continerEL.msRequestFullscreen();
  28. }
  29. element.target.innerHTML = '退出全屏';
  30. }else{//当前为全屏状态,则退出全屏
  31. if (document.exitFullscreen) {
  32. document.exitFullscreen();
  33. }
  34. else if (document.mozCancelFullScreen) {
  35. document.mozCancelFullScreen();
  36. }
  37. else if (document.webkitCancelFullScreen) {
  38. document.webkitCancelFullScreen();
  39. }
  40. else if (document.msExitFullscreen) {
  41. document.msExitFullscreen();
  42. }
  43. element.target.innerHTML = '全屏';
  44. }
  45. _exitFullScreen = !_exitFullScreen;
  46. }
  47. return {
  48. init:init
  49. }
  50. });

浏览器全屏API

https://developer.mozilla.org/zh-CN/docs/Web/API/Document/exitFullscreen

Document.exitFullscreen() 方法用于让当前文档退出全屏模式(原文表述不准确,详见备注)。调用这个方法会让文档回退到上一个调用Element.requestFullscreen()方法进入全屏模式之前的状态。

备注: 如果一个元素A在请求进去全屏模式之前,已经存在其他元素处于全屏状态,当这个元素A退出全屏模式之后,之前的元素仍然处于全屏状态。浏览器内部维护了一个全屏元素栈用于实现这个目的。

语法

document.exitFullscreen();

示例

  1. // 点击切换全屏模式
  2. document.onclick = function (event) {
  3. if (document.fullscreenElement) {
  4. document.exitFullscreen()
  5. } else {
  6. document.documentElement.requestFullscreen()
  7. }
  8. };

API规格

SpecificationStatusComment
Fullscreen API
Document.exitFullscreen()
Living StandardInitial definition

浏览器兼容性

 

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

  • Desktop
  •  
  • Mobile

 

FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
Basic support(Yes)-webkit
45 (unprefixed)
9.0 (9.0) as mozCancelFullScreen[1]
47.0 (47.0)[1] (behind full-screen-api.unprefix.enabled
???
FeatureAndroid WebkitChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
Basic support(Yes)-webkit
45 (unprefixed)
(Yes)-webkit
45 (unprefixed)
9.0 (9.0) as mozCancelFullScreen[1]
47.0 (47.0)[1] (behind full-screen-api.unprefix.enabled
???

[1] 可通过Document.exitFullscreen()方法让全屏元素栈的栈顶元素退出全屏状态,并让新的栈顶的元素进入全屏状态。此特征在Gecko 11.0 (Firefox 11.0 / Thunderbird 11.0 / SeaMonkey 2.8)中被实现.

参阅

最后修改:

2019年3月23日, by MDN contributors

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载