博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HTML5实现全屏
阅读量:7058 次
发布时间:2019-06-28

本文共 1559 字,大约阅读时间需要 5 分钟。

现在主流的浏览器都支持全屏,但是各家实现不一。下面是主流浏览器实现方法:

// W3C 提议element.requestFullscreen();element.exitFullscreen();// Webkit (works in Safari5.1 and Chrome 15)element.webkitRequestFullScreen();element.webkitCancelFullScreen(); // Firefox 10+element.mozRequestFullScreen();element.mozCancelFullScreen();

实际使用的时候我们需要做兼容,可以用函数包装起来:

//进入全屏function requestFullScreen(element) {    var de = document.querySelector(element) || document.documentElement;    if (de.requestFullscreen) {        de.requestFullscreen();    } else if (de.mozRequestFullScreen) {        de.mozRequestFullScreen();    } else if (de.webkitRequestFullScreen) {        de.webkitRequestFullScreen();    }}//退出全屏function exitFullscreen(element) {    var de = document.querySelector(element) || document.documentElement;    if (de.exitFullscreen) {        de.exitFullscreen();    } else if (de.mozCancelFullScreen) {        de.mozCancelFullScreen();    } else if (de.webkitCancelFullScreen) {        de.webkitCancelFullScreen();    }}

封装后兼容主流浏览器用法,且支持某个指定的元素全屏,支持class、id查询。默认是对整个网页全屏。

调用方法:

requestFullScreen();requestFullScreen('body');requestFullScreen('#main');

可能出于安全考虑,只能手动触发才能实现全屏,浏览器自动执行无效果。通过控制台可以看到提示:API can only be initiated by a user gesture。

HTML5全屏API 相对比较简单,但是浏览器的差异性导致很丑的代码,并且不能保证它们不会再改变。如果你不想自己维护代码,你可以使用 这样的类库,它可以平滑过渡这些差异。

参考:

1、HTML5实现全屏API【进入和退出全屏】 - kingwell - 博客园
2、How to Use HTML5 FUll Screen API(如何使用HTML5全屏接口) - 微个日光日 - 博客频道 - CSDN.NET
3、sindresorhus/screenfull.js: Simple wrapper for cross-browser usage of the JavaScript Fullscreen API

转载于:https://www.cnblogs.com/52fhy/p/6550764.html

你可能感兴趣的文章
MDT 2013排错Provider:SQL Network Interfaces,error:26
查看>>
桌面支持--不能显示中文字体,系统已调成中文 而且不能打字
查看>>
古城钟楼微博:葡萄城程序员演练技术的产物
查看>>
最常用的四种数据分析方法
查看>>
Mesos安装部署笔记
查看>>
epoll的作用和原理介绍
查看>>
服务器远程监控管理(一)-硬件篇
查看>>
Android permission 工具类
查看>>
Tomcat使用与配置
查看>>
接口与抽象类的区别(转)
查看>>
转载:分析apk工具aapt的使用,解析其原理
查看>>
如何向视图插入数据
查看>>
注册和策略模式
查看>>
python 列表
查看>>
第七课作业
查看>>
MEAN实践——LAMP的新时代替代方案(下)
查看>>
CentOS7 下安装 Oracle 12c
查看>>
简单介绍AngularJs Filters
查看>>
Dubbo下一站:Apache顶级项目
查看>>
我说分布式事务之最大努力通知型事务
查看>>