• H5中用js让页面全屏


    概述

    意外的发现一个网页有一个按钮能使网页全屏,查了下代码发现是H5的全屏api,于是就查了下资料,记录下来供以后开发时参考,相信对其他人也有用。

    参考资料:
    利用js如何做到让页面全屏和不全屏功能
    Element.requestFullScreen() MDN

    全屏API

    H5有一个全屏API,Element.requestFullscreen() 方法用于发出异步请求使元素进入全屏模式。

    需要注意的是:只有包含在顶层文档内部的标准HTML元素、<svg>元素和<math>元素,以及拥有allowfullscreen属性的iframe的内部元素可以进入全屏模式。这意味着在frame内部的元素,以及object的内部元素不能进入全屏模式。

    示例代码如下:

    <!doctype html>
    <html>
        <head>
          <meta charset="UTF-8"/>
            <title>全屏不全屏</title>
        </head>
        <body>
          <button id="fullScreen">全屏模式</button>
          <button id="noFullScreen">取消全屏</button>
         </body>
    </html>
    <script>
           document.getElementById("fullScreen").onclick=function(){
              if(document.documentElement.RequestFullScreen){
                document.documentElement.RequestFullScreen();
              }
              //兼容火狐
              console.log(document.documentElement.mozRequestFullScreen)
              if(document.documentElement.mozRequestFullScreen){
                document.documentElement.mozRequestFullScreen();
              }
              //兼容谷歌等可以webkitRequestFullScreen也可以webkitRequestFullscreen
              if(document.documentElement.webkitRequestFullScreen){
                document.documentElement.webkitRequestFullScreen();
              }
              //兼容IE,只能写msRequestFullscreen
              if(document.documentElement.msRequestFullscreen){
                document.documentElement.msRequestFullscreen();
              }
           }
           document.getElementById("noFullScreen").onclick=function(){
              if(document.exitFullScreen){
                document.exitFullscreen()
              }
              //兼容火狐
              console.log(document.mozExitFullScreen)
              if(document.mozCancelFullScreen){
                document.mozCancelFullScreen()
              }
              //兼容谷歌等
              if(document.webkitExitFullscreen){
                document.webkitExitFullscreen()
              }
              //兼容IE
              if(document.msExitFullscreen){
                document.msExitFullscreen()
              }
           }
    </script>
    

    全屏事件

    如果元素被允许进入全屏模式,document对象会收到一个fullscreenchange事件,通知调用者当前元素已经进入全屏模式。如果全屏请求不被许可,则会收到一个fullscreenerror事件

    示例如下:

    document.addEventListener('fullscreenchange', function(){ /*code*/ });
    document.addEventListener('webkitfullscreenchange', function(){ /*code*/});
    document.addEventListener('mozfullscreenchange', function(){ /*code*/});
    document.addEventListener('MSFullscreenChange', function(){ /*code*/});
    
    document.addEventListener('fullscreenerror', function(){ /*code*/ });
    document.addEventListener('webkitfullscreenerror', function(){ /*code*/});
    document.addEventListener('mozfullscreenerror', function(){ /*code*/);
    document.addEventListener('MSFullscreenError', function(){ /*code*/ });
    

    全屏样式

    全屏之后还可以选择性的调整样式,就和hover一样,如下所示:

    :-webkit-full-screen { }
    :-moz-full-screen { }
    :-ms-fullscreen { }
    :fullscreen { }
    
  • 相关阅读:
    关于git 拉取的时候一直弹输入密码的问题
    开始日期结束日期check问题
    关于boostrap 排版问题
    【DP_树形DP专题】题单总结
    【DP_背包专题】 背包九讲
    Ubuntu不卸载ibus前提下安装搜狗输入法
    Ubuntu下Java环境配置
    Ubuntu下gcc及g++环境配置
    Ubuntu下VIM(GVIM)环境配置
    PAT 1065 A+B and C (64bit) (20)
  • 原文地址:https://www.cnblogs.com/yangzhou33/p/9300329.html
Copyright © 2020-2023  润新知