react实现在网页中全屏操作

1、utils.ts文件

// 展开/全屏

  static requestFullScreen(element: any) {

    let requestMethod =

      element.requestFullscreen ||

      element.webkitRequestFullscreen ||

      element.msRequestFullscreen ||

      element.mozRequestFullScreen

    if (requestMethod) {

      requestMethod.call(element)

    }

  }

  // 退出/全屏

  static exitFullScreen() {

    let documents: any = window.document

    let exitMethod =

      documents.exitFullscreen ||

      documents.webkitExitFullscreen ||

      documents.msExitFullscreen ||

      documents.mozCancelFullScreen

    if (exitMethod) {

      exitMethod.call(documents)

    }

  }

  // 判断是否全屏

  static isFullscreenElement() {

    let documents: any = window.document

    let isFull =

      documents.fullscreenElement ||

      documents.webkitFullscreenElement ||

      documents.msFullscreenElement ||

      documents.mozFullScreenElement

    return !!isFull

  }

2、在引入的页面调用方法

import uiKit from '@/common/uiKit'    // 引入方法

setfullScreen = (type) => {

    if (type) {      //  打开全屏模式

      uiKit.requestFullScreen(document.body)

      this.setState({

        fullScreentype: false,

      })

    } else {    //  退出全屏模式

      uiKit.exitFullScreen()

      this.setState({

        fullScreentype: true,

      })

    }

  }

<div className={cx('fullScreenbox')}>

     {fullScreentype ? (

              <button

                     id="fullScreen"

                     onClick={() => {

                            this.setfullScreen(true)

                      }}

                >

                       <img

                            src="http://img.benewtech.cn/FiHOd580uuEpW28FB1y2QDwSqaDO?2/2/w/100"

                            alt="全屏模式"

                            title="全屏模式"

                          />

                        </button>

                      ) : (

                        <button

                          id="fullScreen"

                          onClick={() => {

                            this.setfullScreen(false)

                          }}

                        >

                          <img

                            src="http://img.benewtech.cn/FnhM1irDajyoIrQfMexxIkhUCbME?2/2/w/100"

                            alt="退出全屏"

                            title="退出全屏"

                          />

                        </button>

                      )}

                    </div>

3.效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值