溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HTML5中如何使video播放器全屏

發(fā)布時(shí)間:2020-10-24 16:38:31 來源:億速云 閱讀:773 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了HTML5中如何使video播放器全屏,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

首先來說,這個(gè)標(biāo)題具有誤導(dǎo)性,但這樣設(shè)置改標(biāo)題也是主要因?yàn)関ideo使用的比較多

在html5中,全屏方法可以適用于很多html 元素,不僅僅是video

<!doctype  html>
<html>
<head>
<meta charset="utf-8" />
<title>全屏問題</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta http-equiv="imagetoolbar" content="no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<style type="text/css">
*{
   padding: 0px;
   margin: 0px;
}

body p.videobox{
   width: 400px;
   height: 320px;
   margin: 100px auto;
   background-color:#000;
}

body p.videobox video.video
{
width: 100%;
   height: 100%;
}

:-webkit-full-screen {

}

:-moz-full-screen {

}

:-ms-fullscreen {

}

:-o-fullscreen {

}

:full-screen { 

}

:fullscreen {

}

:-webkit-full-screen video {
 width: 100%;
 height: 100%;
}
:-moz-full-screen video{
   width: 100%;
   height: 100%;
}
   </style>
</head>
<body>


<p id="videobox">

   <video controls="controls" preload="preload" id="video" poster="poster.jpg">
     <source src="./movie.ogg" type="video/ogg" />
     <source src="./movie.mp4" type="video/mp4" />
     <source src="./movie.webm" type="video/webm" />
     <object data="./movie.mp4" width="100%" height="100%">
       <embed width="100%" height="100%" src="./movie.swf" />
     </object>

   </video>
   <button id="fullScreenBtn">全屏</button>
</p>


<script type="text/javascript">

//反射調(diào)用
var invokeFieldOrMethod = function(element, method) 
{
  var usablePrefixMethod;
  ["webkit", "moz", "ms", "o", ""].forEach(function(prefix) {
      if (usablePrefixMethod) return;
      if (prefix === "") {
          // 無前綴,方法首字母小寫
          method = method.slice(0,1).toLowerCase() + method.slice(1);   
      }
      var typePrefixMethod = typeof element[prefix + method];
      if (typePrefixMethod + "" !== "undefined") {
          if (typePrefixMethod === "function") {
              usablePrefixMethod = element[prefix + method]();
          } else {
              usablePrefixMethod = element[prefix + method];
          }
      }
  });

      return usablePrefixMethod;
};

//進(jìn)入全屏
function launchFullscreen(element) 
  {
   //此方法不可以在異步任務(wù)中執(zhí)行,否則火狐無法全屏
    if(element.requestFullscreen) {
      element.requestFullscreen();
    } else if(element.mozRequestFullScreen) {
      element.mozRequestFullScreen();
    } else if(element.msRequestFullscreen){ 
      element.msRequestFullscreen();  
    } else if(element.oRequestFullscreen){
       element.oRequestFullscreen();
   }
   else if(element.webkitRequestFullscreen)
    {
      element.webkitRequestFullScreen();
    }else{

       var docHtml  = document.documentElement;
       var docBody  = document.body;
       var videobox  = document.getElementById('videobox');
       var  cssText = 'width:100%;height:100%;overflow:hidden;';
       docHtml.style.cssText = cssText;
       docBody.style.cssText = cssText;
       videobox.style.cssText = cssText+';'+'margin:0px;padding:0px;';
       document.IsFullScreen = true;

     }
  }
//退出全屏
  function exitFullscreen()
  {
      if (document.exitFullscreen) {
        document.exitFullscreen();
      } else if (document.msExitFullscreen) {
        document.msExitFullscreen();
      } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
      } else if(document.oRequestFullscreen){
           document.oCancelFullScreen();
       }else if (document.webkitExitFullscreen){
        document.webkitExitFullscreen();
      }else{
       var docHtml  = document.documentElement;
       var docBody  = document.body;
       var videobox  = document.getElementById('videobox');
       docHtml.style.cssText = "";
       docBody.style.cssText = "";
       videobox.style.cssText = "";
       document.IsFullScreen = false;
   }
 }
document.getElementById('fullScreenBtn').addEventListener('click',function(){
   launchFullscreen(document.getElementById('video')); 
   window.setTimeout(function exit(){
//檢查瀏覽器是否處於全屏
if(invokeFieldOrMethod(document,'FullScreen') || invokeFieldOrMethod(document,'IsFullScreen') || document.IsFullScreen)
{
exitFullscreen();
}
  },5*1000);
},false);

</script>
</body>

</html>

HTML5中如何使video播放器全屏

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享HTML5中如何使video播放器全屏內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI