【发布时间】:2011-12-09 18:42:25
【问题描述】:
我正在为 iPad 开发一些视频控件。当用户单击按钮时,视频会播放并立即全屏显示。当用户单击“退出全屏”按钮时,我希望视频暂停。如果我可以禁用“退出全屏”按钮并强制用户使用“完成”按钮,我会这样做,但这似乎不是一个选项。
我的问题是 webkitfullscreenchange 事件似乎没有在 iPad 上触发。它在桌面上的 Chrome 中完美运行。我已经读到,如果尚未加载元数据,iPad 浏览器将不会运行您的事件(在 iPad 上播放视频之前不会加载 - 预加载被忽略),但我已经确认之前已加载元数据全屏事件正在触发。有没有人知道为什么 webkitfullscreenchange 事件不会在 iPad 上触发?
<script type="text/javascript">
$(document).ready(function() {
$(".jqVidLink").click(function(e) {
e.preventDefault();
var vidId = $(this).attr("name");
playPause(document.getElementById(vidId));
});
$(".jqVideo").each(function() {
this.addEventListener("webkitfullscreenchange", function(){
alert("hi2"); //never fires
if (document.webkitIsFullScreen == false) {
playPause(this);
}
}, false);
this.addEventListener("loadedmetadata", function() {
alert("hi"); //firing
this.webkitEnterFullscreen();
}, false);
});
});
function playPause(myVideo) {
if (myVideo.paused){
myVideo.play();
}
else
myVideo.pause();
}
【问题讨论】:
-
这里相同(旧问题,旧 ipad)。 FWIW,我确实在窗口对象上获得了“调整大小”事件。如果您进入全屏,您可以标记自己,并且相信下一次调整大小是全屏更改。或方向改变...