用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启动应用程序的一个简单例子
May 11 Javascript
jquery easyui的tabs使用时的问题
Mar 23 Javascript
jQuery对象[0]是什么含义?
Jul 31 Javascript
固定表格行列(expression)在IE下适用
Jul 25 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
Jun 16 Javascript
jquery 实现两Select 标签项互调示例代码
Sep 25 Javascript
Javascript this 关键字 详解
Oct 22 Javascript
javascript省市区三级联动下拉框菜单实例演示
Nov 29 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
Jan 31 Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
Apr 24 Javascript
jQuery操作cookie的示例代码
Jun 05 jQuery
浅析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
日本十大惊悚动漫
2020/03/04 日漫
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
拼音码表的生成
2006/10/09 PHP
剖析 PHP 中的输出缓冲
2006/12/21 PHP
PHP基于SimpleXML生成和解析xml的方法示例
2017/07/17 PHP
PHP开发实现微信退款功能示例
2017/11/25 PHP
JavaScript对象、属性、事件手册集合方便查询
2010/07/04 Javascript
js下用eval生成JSON对象
2010/09/17 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
jQuery 遍历-nextUntil()方法以及prevUntil()方法的使用介绍
2013/04/26 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
2015/05/13 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
jQuery实现的点击显示隐藏下拉菜单功能完整示例
2019/05/17 jQuery
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
element-ui如何防止重复提交的方法步骤
2019/12/09 Javascript
JavaScript数组排序的六种常见算法总结
2020/08/18 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
2020/11/11 Javascript
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
Python实现TCP/IP协议下的端口转发及重定向示例
2016/06/14 Python
python 基本数据类型占用内存空间大小的实例
2018/06/12 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python Websocket服务端通信的使用示例
2020/02/25 Python
django admin后管定制-显示字段的实例
2020/03/11 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
汽车技术服务与营销专业推荐信
2013/11/29 职场文书
大学信息公开实施方案
2014/03/09 职场文书
请假条怎么写
2014/04/10 职场文书
工伤赔偿协议书
2014/04/15 职场文书
课前三分钟演讲稿
2014/04/24 职场文书
小组口号大全
2014/06/09 职场文书
住房抵押登记委托书
2014/09/27 职场文书
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB
Redis基本数据类型Zset有序集合常用操作
2022/06/01 Redis