项目中做过大屏展示功能,其中需求是需要全屏展示,正好HTML 5中的full screen满足需求,在此记录下。
HTML 5中的full screen,目前可以在除IE和opera外的浏览器中使用 ,有的时候用来做全屏API,游戏呀,等都很有用。先看常见的API

 element.requestFullScreen()

作用:请求某个元素element全屏

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

这里是将其中的元素ID去请求fullscreen

退出全屏

document.cancelFullScreen()

Document.fullScreen

如果用户在全屏模式下,则返回true

document.fullScreenElement

返回当前处于全屏模式下的元素
下面的代码是开启全屏模式:

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

下面的代码就是整个页面调用全屏模式

不过老实说,FULL SCREEN有个问题,容易造成欺骗,比如在
http://feross.org/html5-fullscreen-api-attack/中,其中就有一个很好的DEMO,去欺骗了,比如某个链结写的是http://www.bankofamerica.com,大家以为是美国银行,一点进去,因为使用了全屏幕API,就会欺骗到人

$('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(); });

下面给大家介绍JavaScript控制各种浏览器全屏模式的方法、属性和事件介绍
浏览器全屏模式的启动函数requestFullscreen仍然需要附带各浏览器的js方言前缀,相信下面这段代码需要你花大量的搜索才能凑齐:

// 判断各种浏览器,找到正确的方法
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")); // 某个页面元素

对你想要全屏显示的页面元素调用全屏方法,浏览器窗口就会变成全屏,但会先请求用户允许全屏模式。要注意,用户很有可能会拒绝全屏模式。如果用户运行全屏模式,则浏览器的工具条等按钮菜单都会隐藏,你的页面会覆盖整个屏幕。
退出全屏模式
这个exitFullscreen方法(也需要加浏览器前缀)会让浏览器退出全屏模式,变成正常模式。
// 判断浏览器种类

function exitFullscreen() {if(document.exitFullscreen) {document.exitFullscreen();} else if(document.mozCancelFullScreen) {document.mozCancelFullScreen();} else if(document.webkitExitFullscreen) {document.webkitExitFullscreen();}
}
// 退出全屏模式!
exitFullscreen();

全屏属性和事件

不幸的是,全屏属性和事件的相关方法也需要添加浏览器前缀,但我相信很快就不需要这样做了。
1.document.fullScreenElement: 全屏显示的网页元素。
2.document.fullScreenEnabled: 判断当前是否处于全屏状态。
fullscreenchange事件会在启动全屏或退出全屏时触发:
代码如下:

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

你仍然可以使用上面判断浏览器种类的方法给这个事件加上前缀。
全屏样式CSS
各种浏览器都提供了一个非常有用的全屏模式时的css样式规则:

-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 */
}

有些情况下,WebKit样式会出现一些问题,你最好把这些样式保持简洁。
这些全屏API都超级的简单,而且超级的有用。我第一次是在MDN’s BananaBread demo中看到这个API的,那是一个枪击游戏,正好需要全屏化,它使用了事件监听来检测全屏状态。记住这些好用的API,需要的时候可以顺手拈来。

JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件相关推荐

  1. 浏览器判断是否全屏, 设置浏览器全屏,设置浏览器退出全屏

    /*** 浏览器判断是否全屏*/ export const fullscreenEnable = () => {var isFullscreen = document.isFullScreen ...

  2. html控制浏览器全屏,JavaScript控制浏览器全屏及各种浏览器全屏模式的方法、属性和事件_javascript技巧...

    HTML 5中的full screen,目前可以在除IE和opera外的浏览器中使用 ,有的时候用来做全屏API,游戏呀,等都很有用.先看常见的API element.requestFullScree ...

  3. webdriver设置浏览器全屏及设置浏览器窗口为特定大小的方法

    1 from selenium import webdriver 2 3 driver = webdriver.Chrome() 4 5 6 #全屏 7 driver.maximize_window( ...

  4. php让浏览器全屏,H5实现浏览器全屏API(全屏进入和全屏退出)

    ITKEE社区V3.0.1版本更新,补丁包下载了解详情 , 获取ITKEE社区版本,快速授权了解详情 [进入和退出全屏] // Webkit (works in Safari5.1 and Chrom ...

  5. JavaScript 控制浏览器全屏展示

    JavaScript 控制浏览器全屏展示 前言 一.全屏区分 二.HTML Dom 全屏模式 展开全屏 退出全屏 三.兼容 IE 10 及 以下方式 DEMO 总结 前言 浏览器全屏功能解释 一.全屏 ...

  6. html 设置浏览器全屏显示,JavaScript控制浏览器全屏显示简单示例

    本文实例讲述了JavaScript控制浏览器全屏显示.分享给大家供大家参考,具体如下: www.jb51.net JS全屏显示 全屏显示 退出全屏 // 判断各种浏览器,找到正确的方法 functio ...

  7. html5实现浏览器自动全屏,[JavaScript] 用html5 js实现浏览器全屏

    项目中需要将后台浏览器的窗口全屏,也就是我们点击一个按钮要实现按F11全屏的 效果. 在HTML5中,W3C制定了关于全屏的API,就可以实现全屏幕的效果,也可以 让页面中的图片,视频等全屏目前只有g ...

  8. js控制,监听 浏览器全屏

    //监听页面变化来监听按钮控制 浏览器全屏window.addEventListener("resize",function(){});//判断是否全屏if (document.b ...

  9. js控制浏览器全屏踩坑记录

    需求 点击以下按钮后,页面进入全屏. 进入全屏后,按钮样式改变为 恢复非全屏时,按钮自动恢复. 难点 需求很简单,但是实际上手发现有几个难点: 1.浏览器在全屏状态下按F11和Esc可以退出全屏,且全 ...

最新文章

  1. Access界面基础操作
  2. 使用Matlab画心形线
  3. Android ViewModel+liveData+lifecycle+databinding打造MVVM
  4. visual basic.net 2019-Visual Basic 16.0新功能
  5. adf开发_在EL表达式中引用ADF Faces组件
  6. hadoop--MapReduce概述
  7. 95-36-030-ChannelHandler-ChannelInboundHandler
  8. 设计模式——解释器模式
  9. linux如何查询一个文件夹大小,Linux下如何查看某个文件夹所占空间大小
  10. [Z]四种浏览器对 clientHeight、offsetHeight、scrollHeight、clientWidth、offsetWidth 和 scrollWidth 的解释...
  11. docker pull下载很慢_假如服务器上没有 Docker 环境,你还能愉快的拉取容器镜像吗?...
  12. foxmail创建163公司企业邮箱的时候会出现ERR Unable to log on
  13. gmm中隐变量是什么的_隐变量是什么?
  14. java数组函数_Java数组
  15. Qt+opencv二值化
  16. okfone 解密大师系列软件
  17. 向工程腐化开炮 | proguard治理
  18. ssm 订单功能实现
  19. bp神经网络算法的优缺点,基于bp的神经网络算法
  20. UVALive 4850 Installations——思维

热门文章

  1. Mac中直接打开隐藏的文件或文件夹
  2. JAVA将数字钱数转换为大写
  3. 如何利用Python批量爬取人民币外汇数据并整理储存可视化!
  4. 对百万年薪聘请熊猫烧香主犯的忠告
  5. Java版本+企业电子招投标系统源代码之电子招投标系统建设的重点和未来趋势
  6. Could not locate executable null\bin\winutils.exe in the Hadoop binaries全网最强windows10安装hadoop教程
  7. 深度学习视频压缩1—DVC: An End-to-end Deep Video Compression Framework
  8. Python爬虫纯干货:单线程、多线程和协程的爬虫性能对比
  9. 当我得知客户还在用IE浏览器的时候...
  10. 不要等账户出问题再来找亚马逊官方联系方式