添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
酒量小的登山鞋  ·  Node.js Express 获取 ...·  2 周前    · 
沉稳的麻辣香锅  ·  "Illegal invocation" ...·  1 周前    · 
玩篮球的跑步鞋  ·  GitHub - ...·  3 天前    · 
爱喝酒的炒饭  ·  [SOLVED] [Android] ...·  1 月前    · 
刚毅的灭火器  ·  python-binary-memcache ...·  5 月前    · 
酷酷的扁豆  ·  Constellation | High ...·  5 月前    · 
const [prefixName, setPrefixName] = useState('' ) // 浏览器是否支持全屏 默认支持 const [isFullscreenData, setIsFullscreenData] = useState( true ) // 是否全屏 const [isFullscreen, setIsFullscreen] = useState( false )
const screenRef = useRef(null)

2. 判断浏览器是否支持全屏

  // 判断是否支持全屏
  const canFullscreen = () => {
    let fullscreenEnabled = false
    // 判断浏览器前缀
    if (document.fullscreenEnabled) {
      fullscreenEnabled = document.fullscreenEnabled
    } else if (document.webkitFullscreenEnabled) {
      fullscreenEnabled = document.webkitFullscreenEnabled
      setPrefixName('webkit')
    } else if (document.mozFullScreenEnabled) {
      fullscreenEnabled = document.mozFullScreenEnabled
      setPrefixName('moz')
    } else if (document.msFullscreenEnabled) {
      fullscreenEnabled = document.msFullscreenEnabled
      setPrefixName('ms')
    if (!fullscreenEnabled) {
      setIsFullscreenData(false)

3. 需要操作全屏的元素

  const screenRef = useRef(null)
  <div  ref={screenRef}>
        <a onClick={() => setFullScreen()}>
          {!isFullscreen ? '全屏' : '返回'}

4. 指定元素全屏

  // 全屏
  * @param {String} dom 要全屏的dom
  const domFullscreen = dom => {
    const methodName = prefixName === '' ? 'requestFullscreen' : `${prefixName}RequestFullScreen`
    dom[methodName]()
  // 退出全屏
  const exitFullscreen = () => {
    const methodName = prefixName === ''
      ? 'exitFullscreen'
      : `${prefixName}ExitFullscreen`
    document[methodName]()
  // 全屏和返回的操作
  const setFullScreen = () => {
    if (isFullscreenData) {
      if (isFullscreen) {
        exitFullscreen()
        setIsFullscreen(false)
      } else {
        setIsFullscreen(!isFullscreen)
        domFullscreen(screenRef.current)
    } else {
      message.info('该浏览器不支持全屏模式')