利用浏览器全屏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 相关文章推荐
JS 事件绑定函数代码
Apr 28 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
利用json获取字符出现次数的代码
Mar 22 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
Aug 18 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
Aug 02 Javascript
javascript的几种写法总结
Sep 30 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
微信小程序 swiper制作tab切换实现附源码
Jan 21 Javascript
常用的几个JQuery代码片段
Mar 13 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
详解Angular 开发环境搭建
Jun 22 Javascript
vue iview实现动态新增和删除
Jun 17 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
对squid中refresh_pattern的一些理解和建议
2009/04/17 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
PHP将字符分解为多个字符串的方法
2014/11/22 PHP
PHP实现批量清空删除指定文件夹所有内容的方法
2017/05/30 PHP
网上抓的一个特效
2007/05/11 Javascript
javascript 写类方式之一
2009/07/05 Javascript
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
niceTitle 基于jquery的超链接提示插件
2010/05/31 Javascript
jQuery中:visible选择器用法实例
2014/12/30 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
js实现文字滚动效果
2016/03/03 Javascript
JavaScript中校验银行卡号的实现代码
2016/12/19 Javascript
最常用的jQuery表单验证(简单)
2017/05/23 jQuery
vue实现页面加载动画效果
2017/09/19 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
JS实现导出Excel的五种方法详解【附源码下载】
2018/03/15 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
[02:33]DOTA2亚洲邀请赛趣味视频之吐真话筒
2018/03/31 DOTA
python装饰器使用方法实例
2013/11/21 Python
python3中int(整型)的使用教程
2017/03/23 Python
Python2.7实现多进程下开发多线程示例
2019/05/31 Python
Python 调用 Outlook 发送邮件过程解析
2019/08/08 Python
python实现126邮箱发送邮件
2020/05/20 Python
python是怎么被发明的
2020/06/15 Python
如何利用Python 进行边缘检测
2020/10/14 Python
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
中国跨境在线时尚零售商:Bellelily
2018/04/06 全球购物
美国高品质个性化珠宝销售网站:Jewlr
2018/05/03 全球购物
会计岗位职责范本
2014/03/07 职场文书
2015年社区关工委工作总结
2015/04/03 职场文书
2015年领导班子工作总结
2015/05/23 职场文书
公司晚会主持词
2019/04/17 职场文书
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js