全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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当前是否为全屏状态。

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


# js  # 退出全屏  # 全屏事件  # js全屏显示显示代码的三种方法  # js控制页面的全屏展示和退出全屏显示的方法  # Js浏览器全屏代码(模仿按F11)  # JS实现全屏的四种写法  # js控制浏览器全屏示例代码  # JS 全屏和退出全屏详解及实例代码  # 利用浏览器全屏api实现js全屏  # javascript fullscreen全屏实现代码  # js全屏事件fullscreenchange 实现全屏、退出全屏操作  # 全屏  # 的是  # 的说  # 不需要  # 这篇文章  # 只是一个  # 谢谢大家  # 对不  # 出现了  # 键盘操作  # 网上  # 有疑问  # webkitIsFullScreen  # fullScreen  # mozFullscreenEnabled  # fullscreenEnabled  # isFullscreen  # return  # documentElement  # requestFullscreen 


相关文章: 网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何基于云服务器快速搭建个人网站?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何通过VPS建站实现广告与增值服务盈利?  制作销售网站教学视频,销售网站有哪些?  南京网站制作费用,南京远驱官方网站?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  常州企业建站如何选择最佳模板?  公司门户网站制作流程,华为官网怎么做?  一键网站制作软件,义乌购一件代发流程?  宝塔面板创建网站无法访问?如何快速排查修复?  如何快速搭建安全的FTP站点?  如何快速完成中国万网建站详细流程?  PHP正则匹配日期和时间(时间戳转换)的实例代码  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  建站之星导航配置指南:自助建站与SEO优化全解析  如何将凡科建站内容保存为本地文件?  如何在阿里云高效完成企业建站全流程?  建站主机选虚拟主机还是云服务器更好?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  建站之星如何助力网站排名飙升?揭秘高效技巧  如何用景安虚拟主机手机版绑定域名建站?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站  学校建站服务器如何选型才能满足性能需求?  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  电商网站制作价格怎么算,网上拍卖流程以及规则?  网站专业制作公司有哪些,做一个公司网站要多少钱?  如何快速辨别茅台真假?关键步骤解析  微课制作网站有哪些,微课网怎么进?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  如何快速搭建高效简练网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  Python路径拼接规范_跨平台处理说明【指导】  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  宝塔新建站点为何无法访问?如何排查?  定制建站流程解析:需求评估与SEO优化功能开发指南  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  代刷网站制作软件,别人代刷火车票靠谱吗?  建站之星如何快速生成多端适配网站?  如何有效防御Web建站篡改攻击?  七夕网站制作视频,七夕大促活动怎么报名?  太平洋网站制作公司,网络用语太平洋是什么意思?  建站之星免费模板:自助建站系统与智能响应式一键生成  定制建站价位费用解析与套餐推荐全攻略  测试制作网站有哪些,测试性取向的权威测试或者网站?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。