Ios YouTube API:我想劫持Play动作,但iPhone打开了视频播放器

Ios YouTube API:我想劫持Play动作,但iPhone打开了视频播放器,ios,youtube-api,mobile-safari,Ios,Youtube Api,Mobile Safari,我使用的是YouTube API,我的意图是,当用户点击视频播放时,暂停或停止视频,然后显示一个弹出窗口,要求他们告诉我他们的电子邮件地址。当他们这样做或关闭弹出窗口时,它就会开始播放视频 这在我的桌面上很好用。但在iPhone上,Safari打开了全屏视频播放器。。。暂停/停止视频。通过点击“完成”来关闭它会让我回到网站,并且可以看到电子邮件弹出窗口。。。然后关闭它将开始播放视频 但我希望能够在iPhone Safari打开弹出的空白视频播放器之前显示弹出窗口。有什么建议吗 加里 编辑:到目前

我使用的是YouTube API,我的意图是,当用户点击视频播放时,暂停或停止视频,然后显示一个弹出窗口,要求他们告诉我他们的电子邮件地址。当他们这样做或关闭弹出窗口时,它就会开始播放视频

这在我的桌面上很好用。但在iPhone上,Safari打开了全屏视频播放器。。。暂停/停止视频。通过点击“完成”来关闭它会让我回到网站,并且可以看到电子邮件弹出窗口。。。然后关闭它将开始播放视频

<>但我希望能够在iPhone Safari打开弹出的空白视频播放器之前显示弹出窗口。有什么建议吗

加里

编辑:到目前为止,我的代码如下:

function set_up_video(){
    $.each($('.youtube-player'), function(){
        player_id = 'iamavl-video-'+$(this).attr('data-service-id')
        player_element = $('#'+player_id);
        player = new YT.Player(player_id, {
            height: '461',
            width: '707',
            videoId: $(this).attr('data-service-id'),
            events: {
                'onReady': onPlayerReady
            },
            wmode: 'transparent',
            playerVars: {
                autohide: 1,
                autoplay: 0,
                cc_load_policy: 0,
                color: "red",
                controls: 1,
                disablekb: 0,
                enablejsapi: 1,
                fs: 1,
                iv_load_policy: 3,
                loop: 0,
                modestbranding: 0,
                rel: 0,
                showinfo: 0,
                start: 0,
                theme: "dark",
                version: 3,
                wmode: "transparent"
            }
        });

    });
}

function onYouTubeIframeAPIReady() {
    set_up_video();
}


function onPlayerReady(event) {
    player.addEventListener('onStateChange',onPlayerStateChange);
}


function onPlayerStateChange(event) {
    if (event.data == YT.PlayerState.PLAYING) {
        //console.log('PLAYING');
        player.pauseVideo();
        $('#email-collection-modal').addClass('shown-once').modal('show');  
    }
    if (event.data == YT.PlayerState.ENDED) {
        //console.log('ENDED');
    }
    if (event.data == YT.PlayerState.PAUSED) {
        //console.log('PAUSED');
    }
    if (event.data == YT.PlayerState.BUFFERING) {
        //console.log('BUFFERING');
    }
    if (event.data == YT.PlayerState.UNSTARTED) {
        //console.log('UNSTARTED');
    }
}

我认为iPhone Safari不可能做到这一点,因为只有启用了
webkit playsinline
时,视频元素才能在线播放而不是全屏播放。这仅适用于
UIWebView
allowsInlineMediaPlayback
属性设置为YES(适用于iPad,但不适用于iPhone或iPod)的触摸屏。看,谢谢,不是机器人。在YouTube API触发播放事件之前,是否可能以某种方式捕获用户的点击?我想,也许我可以在视频上放一个清晰的div。。。听他们点击/点击的时候,而不是听比赛事件…?是的,我相信这是一个可能的解决办法。