2013-12-23 73 views
0

我需要知道YouTube視頻何時停止播放。我查了一下現有Q &因爲他們都建議重定向到另一個可以在webview加載完成代理中檢測到的唯一URL。在UIWebview中檢測YouTube視頻的結尾

但要做到這一點,我需要在服務器或我的應用程序上有一個HTML頁面(因爲我需要爲onStateChange添加javascript函數)。如果它在服務器上,服務器宕機將影響應用程序,如果它在應用程序中,任何更改都需要應用程序更新。

有沒有其他的解決方法呢?

編輯:需要在html中注入/加載的JS代碼。

var player; 
    var videoID; 
    var prmstr = window.location.search.substr(1); 
    var prmarr = prmstr.split ("&"); 
    var params = {}; 

    for (var i = 0; i < prmarr.length; i++) { 
     var tmparr = prmarr[i].split("="); 
     params[tmparr[0]] = tmparr[1]; 
    } 
    if (params.videoID !== undefined || params.videoID !== "") { 
     videoID = params.videoID; 
    } else { 
     videoID = "0Bmhjf0rKe8"; 
    } 
    function onYouTubePlayerAPIReady() { 
     player = new YT.Player('player', { 
      height: '390', 
      width: '640', 
      videoId: videoID, 
      events: { 
      'onReady': onPlayerReady, 
      'onStateChange': onPlayerStateChange 
      } 
     }); 
    } 

    // autoplay video 
    function onPlayerReady(event) { 
     event.target.playVideo(); 
    } 

    // when video ends 
    function onPlayerStateChange(event) {   
     if(event.data === 0) {   
      window.location.href = "http://example.com/done.html"; 
     } 
    } 
+0

你不能插入JavaScript到頁面?然後你可以添加你需要的任何處理程序。退房http://stackoverflow.com/questions/8886443/calling-javascript-using-uiwebview –

+0

@SB。如果我必須注入JS,我需要注入上面提到的完整代碼,因爲我只參考了嵌入式視頻ID,如果注入它看起來有點麻煩。 – GoodSp33d

回答