zoukankan      html  css  js  c++  java
  • JS实现元素的全屏、退出全屏功能

     在实际开发中,我们很可能需要实现某一元素的全屏和退出全屏功能,如canvas。所幸的是,js提供了相关api用来处理这一问题,只需简单的调用requestFullScreenexitFullScreen即可。但这两个api一般而言需要考虑其兼容性问题,那么就需要额外封装一下。笔者参考相关资料,结合自身实践,最终整理出以下封装函数,理念虽然没有特别之处,但这种封装的写法却属于一种微原创。以下经过实际项目验证可行(如有误,欢迎指出):

    一、全屏

      // 全屏的兼容
      const fullScreen = ele => {
        const func =
          ele.requestFullscreen ||
          ele.mozRequestFullScreen ||
          ele.webkitRequestFullscreen ||
          ele.msRequestFullscreen;
        func.call(ele);
      };
    

    在上面的函数中,首先是判断浏览器支持的api是哪一个,以实现兼容,而后调用它。在调用的时候需要重新绑定一下ele,否则会报错。这种写法避免了繁琐的if else写法,更加易读。

    二、退出全屏

      // 退出全屏的兼容
      const exitFullscreen = () => {
        const func =
          document.exitFullScreen ||
          document.mozCancelFullScreen ||
          document.webkitExitFullscreen ||
          document.msExitFullscreen;
        func.call(document);
      };
    

    理由同上,这里需要注意的是,无需再传递dom元素,因为退出全屏属于document的api。

  • 相关阅读:
    HubbleDotNet 开源全文搜索数据库项目指定单词权重
    AcWing 12. 背包问题求具体方案
    Acwing 1058 股票买卖V
    AcWing 487 金明的预算方案
    AcWing 426. 开心的金明
    AcWing 1052. 设计密码
    AcWing 11. 背包问题求方案数
    AcWing 10. 有依赖的背包问题
    AcWing 1057. 股票买卖 IV
    AcWing 734 能量石
  • 原文地址:https://www.cnblogs.com/twodog/p/12134722.html
Copyright © 2011-2022 走看看