关于全屏(FullScreen)

  很久以前,浏览器就已经有全屏的概念的了。IE的open方法中可以配置上FullScreen参数来让打开的页面全屏化。但是这不太好用,所以没成为主流。而且,全屏这东西如果被恶意使用会给用户造成困扰,所以在现代浏览的全屏API中需要在用户事件中调用。

  open方法的第三个参数是可以对打开的窗口做一些配置,但是现代浏览器并没有吸收太多的这个部分,包括FullScreen这个配置。所以open的FullScreen依然只能在IE中使用。高版本IE中这个FullScreen也已经被弱化了,所以的全屏也只是最大化窗口而已。

open("index.html",null,"fullscreen=yes");  

注意它的值是yes或大于0的数字时才有效。传统的IE方法并没有对自身页面全屏化的接口(ActiveXObject除外),而HTML5的FullScreen API是针对viewport的,所以它可以对当前文档做全屏化。但是由于安全性的考虑(防止被恶意使用),这个API的调用需要在用户事件中。只有用户自己的操作才能触发,程序无权主动调用。


var de=document.documentElement;//调整兼容性de.requestFullScreen=de.requestFullScreen||de.webkitRequestFullScreen||de.mozRequestFullScreen;//计时器调用(无效)setTimeout(function(){de.requestFullScreen();},1);//点击事件调用(有效)de.οnclick=function(){de.requestFullScreen();};

  

目前这些全屏API还是有前缀的,所以使用起来有点麻烦,将来规范化后去掉前缀使用就会方便一些。对于一些非用户事件,比如onload、timeout,等之类的事件中调用requestFullScreen是无法生效的。出于安全性考虑必须在用户事件中调用,比如鼠标、键盘,操作。在进入全屏后,不同的浏览器会做出不同的提示:

Firefox:

Chrome:

  虽然全屏是针对viewport的,但是对文档全屏的方法本身是在body或documentElement上的,具体原因我也没去详细了解。其它viewport比如CANVAS、VIDEO,之类的也可以发起全屏请求。

  当然,全屏API当然不只是调用全屏这个一个方法,还有取消和判断之类的。不过由于目前规范尚未落实,所以其它方法可能还有一些其它的兼容性问题。我这里就不深入了,懂得用就行。其它具体描述可以看MDN。

    参考: MDN - Using full screen mode

web 使网站在浏览器中全屏显示 fullscreen=yes相关推荐

  1. java安卓图片全屏_在Android中全屏显示GIF图片(演示代码)

    [实例简介] 在Android中全屏显示GIF图片(演示代码),详细内容请参考:http://blog.csdn.net/u012939909/article/details/77418173 [实例 ...

  2. Android studio中全屏显示

    android中设置全屏显示的方法## 标题 在MainActivity中添加如下代码 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FUL ...

  3. js怎么让浏览器自动全屏显示

     在HTML5中,W3C制定了关于全屏的API但是只能由用户事件触发,所以不能自动全屏:用户事件触发方法如下: // 判断各种浏览器,找到正确的方法 进入全屏 function launchFulls ...

  4. JavaScript 触发浏览器页面全屏,某div区域全屏

    JavaScript Fullscreen API:全屏操作 全屏API可以控制浏览器的全屏显示,让一个Element节点(以及子节点)占满用户的整个屏幕.目前各大浏览器的最新版本都支持这个API(包 ...

  5. 的run窗口不显示_「玩转deepin」如何安装VirtualBox增强功能使得deepin全屏显示?...

    在Windows上通过Virtualbox安装deepin深度操作系统,安装完成后,为了让deepin可以在virtualbox中全屏显示,需要安装增强工具,但是不少同学点击安装增强工具后会出现无法安 ...

  6. 深度linux安装virtualbox,【玩转deepin】如何安装VirtualBox增强功能使得deepin系统全屏显示?...

    原标题:[玩转deepin]如何安装VirtualBox增强功能使得deepin系统全屏显示? 在Windows上通过Virtualbox安装deepin深度操作系统,安装完成后,为了让deepin可 ...

  7. 远程连接桌面不能全屏显示的解决方法

    1) 在远程连接前,点击"远程桌面连接"对话框左下角的"选项" 2) 点击"显示"Tab页,在"显示"项中将滑块拖至最右 ...

  8. 远程连接桌面不能全屏显示

    1) 在远程连接前,点击"远程桌面连接"对话框左下角的"选项" 2) 点击"显示"Tab页,在"显示"项中将滑块拖至最右 ...

  9. 包括edge,Chrome,火狐、百度,360等浏览器怎么全屏_如何在Microsoft Edge中启用和禁用全屏模式以及解决浏览器无法开启或关闭全屏的问题

    文章目录 1. 引出问题 2. 解决问题 2.1 使用缩放菜单 2.2 Win + Shift + Enter窍门 2.3 最大化与全屏模式 2.4 以全屏模式观看网络视频 3. 重要总结 4. 解决 ...

  10. 使用JavaScript使浏览器进入全屏或退出全屏

    使用JavaScript使浏览器进入全屏或退出全屏 首先使用fullscreenElement判断浏览器是否在全屏状态. 如果是:则调用exitFullscreen函数退出全屏,否则调用request ...

最新文章

  1. fancybox 在打开窗口前 先执行 js脚本,fancybox设置只能通过右上角关闭,fancybox遮罩层关闭...
  2. 【C语言简单说】十:小结
  3. linux 串口 qt,Linux-QT4.7 实现串口通信
  4. 新闻资讯java开发_新闻资讯app开发的功能与意义
  5. 台积电2nm工艺有望2023年风险试产 次年大规模投产
  6. Linux常用命令4(grep、df、du、awk、su、ll)
  7. 这个容器逃逸 exploit 获得首届年度谷歌云平台大奖10万美元
  8. python修改散点图中点的颜色_如何在seaborn散点图中更改点边颜色?
  9. 有效管理云计算成本的多个措施
  10. 学习数织物密度/经纬密
  11. 腾讯游戏一口气发布44款产品内容;爱立信力争7月底完成收购Vonage | 美通企业日报...
  12. C#京东模拟注册~滑块轨迹算法~EID~密码RSA加密
  13. gridview的ButtonField
  14. 细数二十世纪最伟大的10大算法(Top10)
  15. poly-yolo训练自己的数据
  16. 网易高层赴京庆功 高调宣扬网游业绩
  17. Linux系统安装rar压缩软件
  18. java集合(详解)
  19. HTML5实现的经典播放器Winamp
  20. 我是如何解决用户痛点来盈利?- 人物志第20篇

热门文章

  1. 几行代码,把你的小电影全部藏好了!
  2. 电影院订票选座小程序,电影购票小程序,微信小程序电影院订票系统毕设作品
  3. 什么是云计算中的SaaS(软件即服务)?
  4. 魔兽世界燃烧的远征服务器状态,魔兽世界燃烧的远征前夕补丁 燃烧的远征副本介绍...
  5. 利用Xenu查询网站死链
  6. 基于XTerm模拟发包实现
  7. 使用pyinstaller将python脚本转成EXE可执行文件遇到的问题和总结
  8. js ajax 401,$ .ajax请求总是401(UNAUTHORIZED)
  9. 面试官,不要再问我三次握手和四次挥手
  10. 视频直播画质核心影响因素分析:分辨率、帧率和码率