当让YouTube播放器通过JavaScript进入全屏模式时,我遇到了一个bug。
我有一个按钮,当单击它时,它会触发YT.Player.playVideo()
方法,同时要求包含的iframe进入全屏,如下所示:
thisVid = document.getElementById("ytIframe");
if (thisVid.requestFullscreen) {
thisVid.requestFullscreen();
}
else if (thisVid.msRequestFullscreen) {
thisVid.msRequestFullscreen();
}
else if (thisVid.mozRequestFullScreen) {
thisVid.mozRequestFullScreen();
}
else if (thisVid.webkitRequestFullScreen) {
thisVid.webkitRequestFullScreen();
}
iframe成功地占据了屏幕,但是,YouTube播放器不知道它处于全屏模式,因为右下角的全屏按钮仍然可用:
当我单击它时,它保持在全屏,它告诉我"youtube.com现在是全屏“:
这是一个问题,因为用户需要点击该按钮两次才能退出全屏模式。有没有办法让youtube播放器全屏播放,而不是仅仅告诉其包含iframe的玩家这么做?
发布于 2014-09-04 01:11:17
因为YouTube播放器实际上存在于iframe中,所以当您使用javascript全屏API时,您将完全筛选iFrame,而不是播放器。因此,就它而言,它不是全屏的。让播放器进入全屏模式的唯一方法是用户手动单击按钮(这是遗留的要求,因为iframe仍然可以包含Flash,而且Flash有安全措施来防止编程的完全筛选)。目前,您唯一的解决方案是一个自定义控制栏(即使这样,您也不会完全筛选播放机,而只是它的容器.但至少你可以控制按钮的作用)。
https://stackoverflow.com/questions/25635368
复制相似问题