HTML5 exiting video fullscreen

后端 未结 4 686
眼角桃花
眼角桃花 2020-12-16 00:52

I have a HTML5 video with custom controls in normal screen. Don\'t have custom controls at full screen. I just show default controls at full screen. But when exitin

4条回答
  •  暗喜
    暗喜 (楼主)
    2020-12-16 01:45

    I took this from the post above but added onto It. I set the document values which then allowed me to exit fullscreen.

      var videoElement = document.getElementById("myvideo");
    
      function toggleFullScreen() {
        if (!document.mozFullScreen && !document.webkitFullScreen) {
          if (videoElement.mozRequestFullScreen) {
            videoElement.mozRequestFullScreen();
          } else {
            videoElement.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
          }
          document.mozFullScreen = true;
          document.webkitFullScreen = true;
        } else {
          if (document.mozCancelFullScreen) {
            document.mozCancelFullScreen();
          } else {
            document.webkitCancelFullScreen();
          }
        }
      }
    
      document.addEventListener("keydown", function(e) {
        if (e.keyCode == 13) {
          toggleFullScreen();
        }
      }, false);
    

    I only added these two lines ..

    document.mozFullScreen = true;

    document.webkitFullScreen = true;

    which worked perfect for me in addition to llia's code above.

    Edit: This Seems like a better fix then what was written before.

      fullScreenButton.addEventListener("click", function() {
       if (!document.fullscreenElement &&    // alternative standard method
       !document.mozFullScreenElement && !document.webkitFullscreenElement && !document.msFullscreenElement ) {  // current working methods
         if (video.requestFullscreen) {
          video.requestFullscreen();
         } else if (video.msRequestFullscreen) {
          video.msRequestFullscreen();
         } else if (video.mozRequestFullScreen) {
          video.mozRequestFullScreen();
         } else if (video.webkitRequestFullscreen) {
          video.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);
         }
        } else {
         if (document.exitFullscreen) {
          document.exitFullscreen();
         } else if (document.msExitFullscreen) {
          document.msExitFullscreen();
         } else if (document.mozCancelFullScreen) {
          document.mozCancelFullScreen();
         } else if (document.webkitExitFullscreen) {
          document.webkitExitFullscreen();
         }
        }
       });
    

提交回复
热议问题