2012-02-28 626 views
1

誰能告訴我爲什麼webkitEnterFullscreen()使用外部按鈕在Chrome和Safari中工作,但不是iOS?webkitEnterFullscreen()使用外部按鈕在Chrome和Safari中工作,但不是iOS

在iOS中,即使將視頻設置爲「可見」,該按鈕也不起作用。它似乎只在視頻播放後才能正常工作,然後它將允許我啓動全屏。我無法通過使用「this.play();」來編寫腳本,只有當人類擊中播放按鈕時才起作用。

我使用iPad 2和iOS 5.0.1

<html> 
    <head> 
     <title>Fullscreen Video</title> 
     <script src="js/jquery-1.7.1.min.js"></script> 
     <script type="text/javascript"> 

      $(function(){ 
       // hide video 
       $("#myVideo").css({'visibility' : 'hidden', 'display' : 'none'}); 

       // extend button functionality 
       $('#fs').bind('click', function() { 
        // display the video 
        $("#myVideo").css({'visibility' : 'visible'}); 

        // launch the video fullscreen 
        $("#myVideo")[0].webkitEnterFullscreen(); 
       }); 
      }); 
     </script> 

    </head> 
    <body> 

     <h1>Fullscreen Video</h1> 
     <video id="myVideo" width="852" height="480" controls="false" preload="false"> 
      <source src="videos/myVideo.mp4" type='video/mp4' /> 
     </video> 
     <br /> 
     <input type="button" id="fs" value="Fullscreen"> 

    </body> 
</html> 

回答

1

你不應該重寫 「display: none」 當你重寫 「visibility: hidden」?

我定位我的視頻屏幕外(-2000與position: absolute),我用:

<script> 

var videoPlayFullscreen = function() { 
     $('video').get(0).play();   
     $('video').get(0).webkitEnterFullscreen(); 
    }; 

</script> 

我無法得到它的工作,直到我用了「.get(n)」是否有幫助。 (這可能與你正在做的相同:$('video')[n]

但我的全屏幕只適用於視頻已經播放,像你的,但上面的代碼讓它發揮作用的iPhone4和iPad的第一我的問題:在iPad第一代,視頻播放第一次點擊(第一次videoPlayFullscreen功能運行),並進入全屏第二次點擊(第二次運行功能)。我在想它沒有準備好立即做全屏,所以也許延遲時間纔可以工作?

該遊戲的代碼適用於iPhone 4(它啓動全屏只有一個遊戲,並沒有我們根據我的經驗,需要webkitEnterFullscreen)。

相關問題