用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中cookie的添加、取值、删除示例代码
Oct 21 Javascript
将json当数据库一样操作的javascript lib
Oct 28 Javascript
Javascript 按位左移运算符使用介绍(
Feb 04 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
Sep 28 Javascript
学习JavaScript设计模式之策略模式
Jan 12 Javascript
JS查找英文文章中出现频率最高的单词
Mar 20 Javascript
js实现按座位号抽奖
Apr 05 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
详解使用Vue Router导航钩子与Vuex来实现后退状态保存
Sep 11 Javascript
Vue运用transition实现过渡动画
May 06 Javascript
React组件对子组件children进行加强的方法
Jun 23 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
浅析PHP数据导出知识点
2018/02/17 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
Extjs4 类的定义和扩展实例
2013/06/28 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
javascript每日必学之继承
2016/02/23 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
Javascript动画效果(1)
2016/10/11 Javascript
判断横屏竖屏(三种)
2017/02/13 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
图解NodeJS实现登录注册功能
2019/09/16 NodeJs
Vue的props父传子的示例代码
2020/05/20 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
Python ZipFile模块详解
2013/11/01 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
python代码实现ID3决策树算法
2017/12/20 Python
python 反向输出字符串的方法
2018/07/16 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
解决django框架model中外键不落实到数据库问题
2020/05/20 Python
Python日志器使用方法及原理解析
2020/09/27 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
css3实现wifi信号逐渐增强效果实例
2017/08/09 HTML / CSS
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
应届生服装设计自我评价
2013/09/20 职场文书
个人自我剖析材料
2014/02/07 职场文书
室内设计专业自荐信
2014/05/31 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
乡镇食品安全责任书
2014/07/28 职场文书
小学运动会报道稿
2014/10/04 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2015年信息中心工作总结
2015/05/25 职场文书