利用浏览器全屏api实现js全屏


Posted in Javascript onJanuary 16, 2014
(function () {
 var fullScreenApi = {
  supportsFullScreen : false,
  isFullScreen : function () {
   return false;
  },
  requestFullScreen : function () {},
  cancelFullScreen : function () {},
  fullScreenEventName : '',
  prefix : ''
 },
 browserPrefixes = 'webkit moz o ms khtml'.split(' ');
 // check for native support
 if (typeof document.cancelFullScreen != 'undefined') {
  fullScreenApi.supportsFullScreen = true;
 } else {
  // check for fullscreen support by vendor prefix
  for (var i = 0, il = browserPrefixes.length; i < il; i++) {
   fullScreenApi.prefix = browserPrefixes[i];
   if (typeof document[fullScreenApi.prefix + 'CancelFullScreen'] != 'undefined') {
    fullScreenApi.supportsFullScreen = true;
    break;
   }
  }
 }
 // update methods to do something useful
 if (fullScreenApi.supportsFullScreen) {
  fullScreenApi.fullScreenEventName = fullScreenApi.prefix + 'fullscreenchange';
  fullScreenApi.isFullScreen = function () {
   switch (this.prefix) {
   case '':
    return document.fullScreen;
   case 'webkit':
    return document.webkitIsFullScreen;
   default:
    return document[this.prefix + 'FullScreen'];
   }
  }
  fullScreenApi.requestFullScreen = function (el) {
   return (this.prefix === '') ? el.requestFullScreen() : el[this.prefix + 'RequestFullScreen']();
  }
  fullScreenApi.cancelFullScreen = function (el) {
   return (this.prefix === '') ? document.cancelFullScreen() : document[this.prefix + 'CancelFullScreen']();
  }
 }
 // jQuery plugin
 if (typeof jQuery != 'undefined') {
  jQuery.fn.requestFullScreen = function () {
   return this.each(function () {
    if (fullScreenApi.supportsFullScreen) {
     fullScreenApi.requestFullScreen(this);
    }
   });
  };
 }
 // export api
 window.fullScreenApi = fullScreenApi;
})();
$(function(){
 $("#fullScreenBtn").click(function(){
  $("#fullScreen").requestFullScreen();
 });
 if(window.top != self){
  $("#tip").text("iframe里面不能演示该功能!请点击右下角的全屏查看!").show();
 }
});
if (!fullScreenApi.supportsFullScreen) {
 alert("您的破浏览器不支持全屏API哦,请换高版本的chrome或者firebox!");
}
<!DOCTYPE html>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>javascript启用全屏</title> <script id="jquery_183" type="text/javascript" class="library" src=jquery-1.8.3.min.js"></script>
 </head>
 <body>
  <button id="fullScreenBtn">点击我进入全屏模式</button>
  <div id="fullScreen" class="fullScreen">
    <h1>
     我是全屏区域的内容!
   </h1>
   <div id="tip" style="display:none;">
   </div>
  </div>
 </body>
</html>
body{
background:#fff;
}
button{
 border:1px solid #ccc;
 cursor:pointer;
  display:block;
  margin:auto;
  position:relative;
  top:100px;
}
.fullScreen{
 padding-top:10%;
 text-align:center;
 background: none repeat scroll 0 0 #FFFFFF;
}
/* Mozilla proposal (dash) */
.fullScreen:full-screen {
    width:100%;
    height:100%;
}
/* W3C proposal (no dash) */
.fullScreen:fullscreen {
    width:100%;
    height:100%;
}
/* currently working vendor prefixes */
.fullScreen:-webkit-full-screen, .fullScreen:-moz-full-screen {
    width:100%;
    height:100%;
}
:-webkit-full-screen{
width:100%;
    height:100%;
}
Javascript 相关文章推荐
alixixi runcode.asp的代码不错的应用
Aug 08 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
May 27 Javascript
js几秒以后倒计时跳转示例
Dec 26 Javascript
js检测浏览器版本、核心、是否移动端示例
Apr 24 Javascript
jquery获取对象的方法足以应付常见的各种类型的对象
May 14 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
Feb 17 Javascript
Vue 去除路径中的#号
Apr 19 Javascript
vue动态删除从数据库倒入列表的某一条方法
Sep 29 Javascript
微信小程序性能优化之checkSession的使用
Mar 06 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
Nov 05 Javascript
原生js实现点击轮播切换图片
Feb 11 Javascript
JavaScript的一些小技巧分享
Jan 06 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
Jan 15 #Javascript
JS和Jquery获取和修改label的值的示例代码
Jan 15 #Javascript
javascript中验证大写字母、数字和中文
Jan 15 #Javascript
setTimeout自动触发一个js的方法
Jan 15 #Javascript
JS记录用户登录次数实现代码
Jan 15 #Javascript
为指定的元素添加遮罩层的示例代码
Jan 15 #Javascript
js判断数据类型如判断是否为数组是否为字符串等等
Jan 15 #Javascript
You might like
IIS6的PHP最佳配置方法
2007/03/19 PHP
PHP中::、-&amp;gt;、self、$this几种操作符的区别介绍
2013/04/24 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
2011/11/14 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
JS不间断向上滚动效果代码
2013/12/25 Javascript
js的window.showModalDialog及window.open用法实例分析
2015/01/29 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
JS中多步骤多分步的StepJump组件实例详解
2016/04/01 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
Node.js设置CORS跨域请求中多域名白名单的方法
2017/03/28 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
微信小程序仿微信运动步数排行(交互)
2018/07/13 Javascript
微信小程序提交form操作示例
2018/12/30 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
2020/10/27 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
Python实现删除Android工程中的冗余字符串
2015/01/19 Python
在Python编程过程中用单元测试法调试代码的介绍
2015/04/02 Python
python根据txt文本批量创建文件夹
2020/12/08 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
tensorflow实现对张量数据的切片操作方式
2020/01/19 Python
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
意大利折扣和优惠券网站:Groupalia
2019/10/09 全球购物
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
六道php面试题附答案
2014/06/05 面试题
小学教研工作制度
2014/01/15 职场文书
市场营销专业自荐书
2014/06/10 职场文书
上诉答辩状范文
2015/05/22 职场文书
nginx 配置指令之location使用详解
2022/05/25 Servers
pytorch实现加载保存查看checkpoint文件
2022/07/15 Python