用html5 js实现点击一个按钮达到浏览器全屏效果


Posted in Javascript onMay 28, 2014

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

全屏

var docElm = document.documentElement;

//W3C 

if (docElm.requestFullscreen) { 

  docElm.requestFullscreen(); 

}

//FireFox 

else if (docElm.mozRequestFullScreen) { 

  docElm.mozRequestFullScreen(); 

}

//Chrome等 

else if (docElm.webkitRequestFullScreen) { 

  docElm.webkitRequestFullScreen(); 

}

//IE11

else if (elem.msRequestFullscreen) {

 elem.msRequestFullscreen();

}

退出全屏 

if (document.exitFullscreen) { 
document.exitFullscreen(); 
} 
else if (document.mozCancelFullScreen) { 
document.mozCancelFullScreen(); 
} 
else if (document.webkitCancelFullScreen) { 
document.webkitCancelFullScreen(); 
} 
else if (document.msExitFullscreen) { 
document.msExitFullscreen(); 
}

事件监听

document.addEventListener("fullscreenchange", function () { 
fullscreenState.innerHTML = (document.fullscreen)? "" : "not ";}, false); 

document.addEventListener("mozfullscreenchange", function () { 
fullscreenState.innerHTML = (document.mozFullScreen)? "" : "not ";}, false); 

document.addEventListener("webkitfullscreenchange", function () { 
fullscreenState.innerHTML = (document.webkitIsFullScreen)? "" : "not ";}, false); 
document.addEventListener("msfullscreenchange", function () { 
fullscreenState.innerHTML = (document.msFullscreenElement)? "" : "not ";}, false);

全屏样式设置

在浏览器全屏的使用我们还可以进行样式设置

html:-moz-full-screen { 
background: red; 
} 

html:-webkit-full-screen { 
background: red; 
} 

html:fullscreen { 
background: red; 
}

附录

1 一个在线的Demo

    http://robnyman.github.io/fullscreen/

2   HTML5全屏API之网络钓鱼

      http://www.36ria.com/5807

3   jquery封装的全屏插件

     http://johndyer.name/native-fullscreen-javascript-api-plus-jquery-plugin/

4  更加详细的全屏API介绍

    4.1 https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Using_full_screen_mode

    4.2  https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html

5  HTML5全屏API在FireFox/Chrome中的显示差异

   http://www.zhangxinxu.com/wordpress/2012/10/html5-full-screen-api-firefox-chrome-difference/

Javascript 相关文章推荐
js 数组操作代码集锦
Apr 28 Javascript
JavaScript 题型问答有答案参考
Feb 17 Javascript
javascript的数据类型、字面量、变量介绍
May 23 Javascript
jquery进行数组遍历如何跳出当前的each循环
Jun 05 Javascript
jQuery UI插件自定义confirm确认框的方法
Mar 20 Javascript
详解JavaScript中的客户端消息框架设计原理
Jun 24 Javascript
JQuery控制DIV的选取实现方法
Sep 18 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
Sep 21 Javascript
JavaScript引用类型Array实例分析
Jul 24 Javascript
vue接入腾讯防水墙代码
May 07 Javascript
js常用正则表达式集锦
May 17 Javascript
深入学习Vue nextTick的用法及原理
Oct 08 Javascript
浅析JavaScript基本类型与引用类型
May 28 #Javascript
最短的IE判断var ie=!-[1,]分析
May 28 #Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
May 27 #Javascript
什么是cookie?js手动创建和存储cookie
May 27 #Javascript
js打开windows上的可执行文件示例
May 27 #Javascript
JavaScript数值数组排序示例分享
May 27 #Javascript
JavaScript作用域链示例分享
May 27 #Javascript
You might like
简单的PHP多图上传小程序代码
2011/07/17 PHP
PHP遍历某个目录下的所有文件和子文件夹的实现代码
2013/06/28 PHP
php查看网页源代码的方法
2015/03/13 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
thinkPHP中验证码的简单实现方法
2016/12/05 PHP
10个新的最有前途的JavaScript框架
2009/03/12 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
JS字符串函数扩展代码
2011/09/13 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
深入理解javascript中defer的作用
2013/12/11 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
RequireJs的使用详解
2017/02/19 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
微信小程序使用audio组件播放音乐功能示例【附源码下载】
2017/12/08 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
小程序分享链接onShareAppMessage的具体用法
2020/05/22 Javascript
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
单利模式及python实现方式详解
2018/03/20 Python
python3 requests中使用ip代理池随机生成ip的实例
2018/05/07 Python
Python环境Pillow( PIL )图像处理工具使用解析
2019/09/12 Python
python反转列表的三种方式解析
2019/11/08 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
python查询MySQL将数据写入Excel
2020/10/29 Python
Numpy数组的广播机制的实现
2020/11/03 Python
Surfdome西班牙:世界上最受欢迎的生活方式品牌
2019/02/13 全球购物
澳大利亚人信任的清洁平台,您的私人管家:Jarvis
2020/12/25 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
自考毕业自我鉴定范文
2013/10/27 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
Oracle11g R2 安装教程完整版
2021/06/04 Oracle
python可视化大屏库big_screen示例详解
2021/11/23 Python
使用Python获取字典键对应值的方法
2022/04/26 Python