zoukankan      html  css  js  c++  java
  • 每日技术总结:点击按钮触发浏览器全屏显示

    今年3月换了家新公司,为了适应新环境,写每日技术总结的计划就中止了。现在在新公司两个多月,还算适应了。解决工作中的问题都不在话下。但总觉得缺少点什么。慢慢开始焦虑,迷茫,不想停留在这种安逸的状态。

    总结一下最近遇到的问题和知识点

    1.点击按钮触发浏览器全屏显示

    这个功能相当于用户按下了F11

    1.先上【全屏】按钮和【退出全屏】按钮(默认隐藏)的html代码(无关代码省略):

                <a href="javascript:;" class="btn-full" onclick="launchFullScreen(document.documentElement)">全屏</a>
                <a href="javascript:;" class="btn-exit" onclick="exitFullscreen()" style="display: none;">退出全屏</a>

    效果如下,右下角那个“全屏”:

    2.开启全屏和退出全屏的方法js:

        //开启全屏
        function launchFullScreen(element) {
            if (element.requestFullscreen) {
                element.requestFullscreen();
            } else if (element.mozRequestFullScreen) {
                element.mozRequestFullScreen();
            } else if (element.webkitRequestFullscreen) {
                element.webkitRequestFullscreen();
            } else if (element.msRequestFullscreen) {
                element.msRequestFullscreen();
            }
        }
    
        // 退出 fullscreen 
        function exitFullscreen() {
            if (document.exitFullscreen) {
                document.exitFullscreen();
            } else if (document.mozExitFullScreen) {
                document.mozExitFullScreen();
            } else if (document.webkitExitFullscreen) {
                document.webkitExitFullscreen();
            }
        }

    3.现在需要在全屏状态时显示“退出全屏”按钮,并隐藏“全屏”按钮。非全屏状态时反之。

    通过监听“fullscreenchange”事件实现,js代码如下:

        document.addEventListener("fullscreenchange", function (event) {
            if (document.fullscreenElement) {
                $('.btn-full').hide();
                $('.btn-exit').show();
            } else {
                $('.btn-full').show();
                $('.btn-exit').hide();
            }
        });

    4.相关知识:

    (1)什么是document.documentElement?

      返回html dom中的root 节点 即<html>

    (2)Element.requestFullscreen() MDN文档: https://developer.mozilla.org/zh-CN/docs/Web/API/Element/requestFullScreen

    (3)document.exitFullscreen() MDN文档:https://developer.mozilla.org/zh-CN/docs/Web/API/Document/exitFullscreen

    (4)点击切换全屏模式,一段摘自MDN示例代码:

    // 点击切换全屏模式
    document.onclick = function (event) { 
      if (document.fullscreenElement) { 
        document.exitFullscreen() 
      } else { 
        document.documentElement.requestFullscreen() 
      } 
    };

    (5)这两个API都需要做兼容处理。示例代码如下:

    function toFullVideo(){
      if(videoDom.requestFullscreen){
        return videoDom.requestFullscreen();
      }else if(videoDom.webkitRequestFullScreen){
        return videoDom.webkitRequestFullScreen();
      }else if(videoDom.mozRequestFullScreen){
        return videoDom.mozRequestFullScreen();
      }else{
        return videoDom.msRequestFullscreen();
      }
    }

    5.参考文档:

    (1)MDN web docs https://developer.mozilla.org/zh-CN/docs/Web/API/Element/requestFullscreen

  • 相关阅读:
    什么是webview
    juqery.fn.extend和jquery.extend
    LeetCode
    5. Longest Palindromic Substring
    42. Trapping Rain Water
    11. Container With Most Water
    621. Task Scheduler
    49. Group Anagrams
    739. Daily Temperatures
    3. Longest Substring Without Repeating Characters
  • 原文地址:https://www.cnblogs.com/cathy1024/p/10874460.html
Copyright © 2011-2022 走看看