2011-12-09 71 views
1

我正在研究iPad的一些視頻控件。當用戶點擊一個按鈕時,視頻播放並立即全屏顯示。當用戶點擊「退出全屏」按鈕時,我希望視頻暫停。如果我可以禁用「退出全屏」按鈕並強制用戶使用「完成」按鈕,我會,但這似乎不是一個選項。webkitfullscreenchange事件不在iPad上觸發

我的問題是,webkitfullscreenchange事件似乎沒有在iPad上觸發。它在桌面上的Chrome中完美運行。我讀過,如果元數據尚未加載,iPad瀏覽器將不會運行您的事件(直到在iPad上播放視頻纔會加載 - 預加載被忽略),但是我已經確認元數據之前已經加載全屏事件正在發射。有沒有人有任何想法,爲什麼webkitfullscreenchange事件不會在iPad上觸發?

<script type="text/javascript"> 
$(document).ready(function() { 
    $(".jqVidLink").click(function(e) { 
      e.preventDefault(); 
      var vidId = $(this).attr("name"); 
      playPause(document.getElementById(vidId)); 
    }); 
    $(".jqVideo").each(function() { 
     this.addEventListener("webkitfullscreenchange", function(){ 
      alert("hi2"); //never fires 
      if (document.webkitIsFullScreen == false) { 
       playPause(this); 
      } 
     }, false); 
     this.addEventListener("loadedmetadata", function() { 
      alert("hi"); //firing 
      this.webkitEnterFullscreen(); 
     }, false); 
    }); 
}); 

function playPause(myVideo) { 
    if (myVideo.paused){ 
     myVideo.play(); 

    } 
    else 
     myVideo.pause(); 
    } 

+0

同樣在這裏(舊問題,舊ipad)。 FWIW,我確實在窗口對象上調整了事件大小。如果您進入全屏模式,則可以標記自己,並且可以確信下一個調整大小是全屏變化。或方向更改... – commonpike

回答

1

提醒的文章,呼籲iPad上的新IE6的我。不要指望iOS瀏覽器的行爲與桌面Safari一樣。 作爲一種解決方法,您可以在線顯示視頻( - >不是原生全屏)並添加自己的控件。這種方法的缺點是瀏覽器導航浪費了一些垂直空間。好處是你可以完全控制發生的事情。遵循這個想法,您可以通過將視頻(和您的自定義控件)放入一個容器中進行全屏模仿,然後將該容器定位爲固定尺寸,寬度和高度均爲100% - 我通過添加一個類在切換回正常時擔心之前的大小。相反,你只需再次刪除類。

要記住另一件事情,如果你想這樣做:你不能通過JS中的容器在iOS上移動視頻節點。相反,您必須提供html中的完整標記或克隆視頻節點,刪除原始內容並將克隆的內容插入到容器中。

相關問題