当前位置:首页 > 日记 > 正文

JavaScript全屏和退出全屏事件总结(附代码)

JavaScript全屏和退出全屏事件总结(附代码)

代码如下:

window.isflsgrn = false;//ie11以下是否进入全屏标志,true为全屏状态,false为非全屏状态      window.ieIsfSceen = false;//ie11是否进入全屏标志,true为全屏状态,false为非全屏状态      //跨浏览器返回当前 document 是否进入了可以请求全屏模式的状态      function fullscreenEnable(){        var isFullscreen = document.fullscreenEnabled ||        window.fullScreen ||        document.mozFullscreenEnabled ||        document.webkitIsFullScreen;        return isFullscreen;      }      //全屏      var fScreen = function(){        var docElm = document.documentElement;        if (docElm.requestFullscreen) {          docElm.requestFullscreen();        }        else if (docElm.msRequestFullscreen) {          docElm.msRequestFullscreen();          ieIsfSceen = true;        }        else if (docElm.mozRequestFullScreen) {          docElm.mozRequestFullScreen();        }        else if (docElm.webkitRequestFullScreen) {          docElm.webkitRequestFullScreen();        }else {//对不支持全屏API浏览器的处理,隐藏不需要显示的元素          window.parent.hideTopBottom();          isflsgrn = true;          $("#fsbutton").text("退出全屏");        }      }      //退出全屏      var cfScreen = function(){        if (document.exitFullscreen) {          document.exitFullscreen();        }        else if (document.msExitFullscreen) {          document.msExitFullscreen();        }        else if (document.mozCancelFullScreen) {          document.mozCancelFullScreen();        }        else if (document.webkitCancelFullScreen) {          document.webkitCancelFullScreen();        }else {          window.parent.showTopBottom();          isflsgrn = false;          $("#fsbutton").text("全屏");        }      }      //全屏按钮点击事件      $("#fsbutton").click(function(){        var isfScreen = fullscreenEnable();        if(!isfScreen && isflsgrn == false){          if (ieIsfSceen == true) {            document.msExitFullscreen();            ieIsfSceen = false;            return;          }          fScreen();        }else{          cfScreen();        }      })      //键盘操作      $(document).keydown(function (event) {        if(event.keyCode == 27 && ieIsfSceen == true){          ieIsfSceen = false;        }      });      //监听状态变化      if (window.addEventListener) {        document.addEventListener('fullscreenchange', function(){           if($("#fsbutton").text() == "全屏"){            $("#fsbutton").text("退出全屏");           }else{            $("#fsbutton").text("全屏");          }        });        document.addEventListener('webkitfullscreenchange', function(){           if($("#fsbutton").text() == "全屏"){            $("#fsbutton").text("退出全屏");           }else{            $("#fsbutton").text("全屏");          }        });        document.addEventListener('mozfullscreenchange', function(){           if($("#fsbutton").text() == "全屏"){            $("#fsbutton").text("退出全屏");           }else{            $("#fsbutton").text("全屏");          }        });        document.addEventListener('MSFullscreenChange', function(){           if($("#fsbutton").text() == "全屏"){            $("#fsbutton").text("退出全屏");           }else{            $("#fsbutton").text("全屏");          }        });      }

值得注意的是 fullscreenEnabled 参数,网上的说法不一,有的说是监控浏览器是否进入了可以请求全屏模式的状态,有的说只是一个判断浏览器是否支持全屏的标志,实际使用时也确实出现了问题,IE11不能识别这个属性,需要自己单独设置一个标记来控制IE11当前是否为全屏状态。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对的支持!

相关文章

AI简单制作复古煤油灯插画教程

AI简单制作复古煤油灯插画教程

教程,煤油灯,插画,简单,电脑软件,效果图:主要过程:教程结束,以上就是AI简单制作复古煤油灯插画教程的全部内容,希望大家喜欢!相关教程推荐:AI结合PS打造一个复古漂亮的马油灯图标Illustrator鼠绘有钨丝的矢量白炽灯泡ai怎么制作霓虹灯效果的文字?…

excel2017如何制作折线图excel如何

excel2017如何制作折线图excel如何

折线图,教程,步骤,曲线图,电脑软件,  一般我们使用excel就是使用类表格的形式存储数据使用,你可知道excel也可以使用图表的形式存储数据,下面让小编为你带来excel2017如何制作折线图的方法。excel2017折线图制作步骤01打开需要修改Excel文…

javascript九宫格随机打乱位置的实

javascript九宫格随机打乱位置的实

九宫格,方法,位置,电脑软件,javascript,今天就做个九宫格的简易拼图,最让我头疼的就是点击开始打乱图片位置。一开始在百度查看相关博客,走了很多弯路。最后看了众多的例子,自己写了个方法。<script>//打乱图片方法 function fun(){ var x …

Javascript实现页面滚动时导航智能

Javascript实现页面滚动时导航智能

智能,定位,导航,页面,电脑软件,常见的开发页面中可能会有这么一个需求,页面中会有多个模块,每个模块对应一个导航,当页面滚动到某个模块时,对应的模块导航需要加上一个类用于区分当前用户所浏览区域。假设结构如下:<div class="container"> <…

ES6扩展运算符的用途实例详解

ES6扩展运算符的用途实例详解

扩展,运算符,详解,实例,用途,ES6的扩展运算符可以说是非常使用的,在给多参数函数传参,替代Apply,合并数组,和解构配合进行赋值方面提供了很好的便利性。扩展运算符就是三个点“...”,就是将实现了Iterator 接口的对象中的每个元素都一个个的迭代…

excel2010图表制作滚动条控件的方

excel2010图表制作滚动条控件的方

图表,滚动条,方法,控件,电脑软件,  在Excel中制作好图表之后经常需要用到滚动条控件,具体该如何制作滚动条控件呢?下面是由小编分享的excel2010图表制作滚动条控件的方法,以供大家阅读和学习。excel2010图表制作滚动条控件的方法图表制作滚…

详解微信小程序 登录获取unionid

详解微信小程序 登录获取unionid

登录,详解,程序,电脑软件,微信小,详解微信小程序 登录获取unionid首先公司开发了小程序, 公众号网页和app等, 之前都是用的openid来区分用户, 但openid只能标识用户在当前小程序或公众号里唯一, 我们希望用户可以在公司各个产品(比如公众号…

冻结2007excel表格前三行的方法步

冻结2007excel表格前三行的方法步

冻结,步骤,多列,方法,表格,  excel2007中,冻结功能是一个经常使用的功能,它能随意冻结一些行或列。下面让小编为你带来学习冻结excel表格前三行的方法,希望对你有帮助!了解更多excel表格的操作技巧,欢迎点击▼▼▼  ???excel表格设置打印A4…

jQuery实现可拖动进度条实例代码

jQuery实现可拖动进度条实例代码

拖动,实例代码,进度条,电脑软件,jQuery,html   <div class="progress"> <div class="progress_bg"> <div class="progress_bar"></div> </div> <div class="progress_btn"></div> <div class="text">0%</div> </d…

qq旋舞搞笑个性签名

qq旋舞搞笑个性签名

个性签名,搞笑,大全,电脑软件,qq,  一句搞笑个性签名:话是人说的,屁也是人放的,说话和放屁一样,都是一口气而已。下面小编给大家分享了关于qq旋舞搞笑个性签名,希望你喜欢。qq旋舞搞笑个性签名大全1) 哎呦我去,您这么忙还亲自上厕所那。2) 遇到…

ppt2013 删除背景的方法

ppt2013 删除背景的方法

方法,删除,背景,电脑软件,  记得以前上初中时,小编就很喜欢powerpoint里的一个设置图片背景透明的功能,可以将纯色背景的图片去掉背景,已经不记得那是哪个版本了。如今,电脑上装的已经是2013,当时的功能已经变成了&lsquo;删除背景&rsquo;,而且…

微信小程序 页面传值详解

微信小程序 页面传值详解

页面传值,详解,程序,电脑软件,微信小,微信小程序 页面传值详解一. 跨页面传值.1 . 用 navigator标签传值或 wx.navigator, 比如这里将good_id=16 参数传入detail页面, 然后detail页面的 onload方法内接受.如果需要传多个参数, 用 & 链接即…