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