用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 相关文章推荐
游戏人文件夹程序 ver 4.03
Jul 14 Javascript
用dtree实现树形菜单 dtree使用说明
Oct 17 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
Node.js实现简单聊天服务器
Jun 20 Javascript
javascript中eval和with用法实例总结
Nov 30 Javascript
详解Node.js中的事件机制
Sep 22 Javascript
Bootstrap对话框使用实例讲解
Sep 24 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
详解从react转职到vue开发的项目准备
Jan 14 Javascript
vue data恢复初始化数据的实现方法
Oct 31 Javascript
JS数组索引检测中的数据类型问题详解
Jan 11 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 iconv()函数字符编码转换的问题讲解
2019/03/22 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
php设计模式之备忘模式分析【星际争霸游戏案例】
2020/03/24 PHP
浅谈js的setInterval事件
2014/12/05 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
2015/10/14 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
2016/05/05 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
js脚本编写简单刷票投票系统
2017/06/27 Javascript
jQuery实现动态控制页面元素的方法分析
2017/12/20 jQuery
jQuery中的类名选择器(.class)用法简单示例
2018/05/14 jQuery
js中的 || 与 && 运算符详解
2018/05/24 Javascript
Vue之mixin全局的用法详解
2018/08/22 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
Vue-cli3多页面配置详解
2020/03/22 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[00:10]DOTA2 TI9勇士令状明日上线
2019/05/07 DOTA
Python合并多个装饰器小技巧
2015/04/28 Python
Ruby元编程基础学习笔记整理
2016/07/02 Python
Python 修改列表中的元素方法
2018/06/26 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
对python requests发送json格式数据的实例详解
2018/12/19 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
Python闭包与装饰器原理及实例解析
2020/04/30 Python
python怎么调用自己的函数
2020/07/01 Python
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
为女性购买传统的印度服装和婚纱:Kalkifashion
2019/07/22 全球购物
某公司部分笔试题
2013/11/05 面试题
护理职业生涯规划书
2014/01/24 职场文书
党员领导干部承诺书
2014/05/28 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
北京青年观后感
2015/06/15 职场文书
爱的教育观后感
2015/06/17 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang