当你在phonegap ios中播放视频时,我怎么能关闭InAppBrowser窗口

时间:2013-09-26 10:20:29

标签: javascript jquery ios cordova

我正在使用cordova开发iphone app开发。我想在InAppBrowser中播放YouTube视频。在我的场景中,我有一个视频缩略图轨道,基本上那些是youtube视频。当我们点击它时,它需要打开一个html页面,其中包含Phonegap InAppBrowser内的youtube播放器,因为我写的是,

var ref = null;
function openVideo(Id)
{
    try {
         ref = window.open('video.html?id='+Id,'_blank','location=no'); 
         ref.addEventListener('loadstop', LoadStop);
         ref.addEventListener('exit', Close);
    }
    catch (err)    
    {
        alert(err);
    }
}
function LoadStop(event) {
         //some code  
}
function Close(event) {
         ref.removeEventListener('loadstop', LoadStop);
         ref.removeEventListener('exit', Close);
} 

我的video.html可以使用以下代码

<!DOCTYPE html>
    <html>
        <head>
            <style>
                body {
                    margin: 0px 0px 0px 0px;
                }
            </style>
        </head>
        <body>
            <div id="player"></div>
            <script>
              var tag = document.createElement('script'); 
              tag.src = "http://www.youtube.com/player_api"; 
              var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
              var player;
              function onYouTubePlayerAPIReady() 
              { 
                 player = new YT.Player('player', 
              {  videoId: 'mQGTXhqVmCQ',
                 playerVars: { 'html5': 1},
                 events: { 'onReady': onPlayerReady,'onStateChange':onPlayerStateChange              } 
    }); 
    } 

    function onPlayerReady(event) { 
    event.target.playVideo();
    }
    function onPlayerStateChange(event) {
            if (event.data == YT.PlayerState.PLAYING) {
    //needs to close in app browser here        
    window.close();
            }
    }
    function stopVideo() {
       player.stopVideo();
    }
     </script>
        </body>
        </html>

这里我附上截图,

enter image description here

这里我正面临的问题是,

1,点击缩略图在InAppBroser中打开video.html

2,首次视频加载和视频在默认的iphone浏览器中播放。看完视频用户后,点击“完成”按钮返回应用程序。

3,但他看到带有youtube播放器的video.html页面暂停按钮和完成按钮返回应用程序。

这意味着他需要点击默认播放器中的按钮1和InAppBrowser中的另一个按钮。这将成为用户界面错误。所以当他点击播放器中的完成按钮时,我需要将用户备份到应用程序。为此,我需要能够在youtube视频播放时关闭InAppBrowser窗口但我无法获得InAppBrowser的引用,因为两者都在不同的页面中。我在onstatechanged方法youtube播放器中尝试过window.close()。但它对我没有帮助。那么当你播放视频时我怎么能关闭InAppBrowser窗口。请指导我。

0 个答案:

没有答案