如何确定HTML5video播放器何时进入iOS / iPad上的全屏模式?

HTML5标签为用户提供了一个button,用于在移动设备(iOS)的Safari上打开和closures全屏模式。

我想要捕捉和处理这个用户操作,但是当按下button并且播放器进入全屏模式时,似乎不会引发事件。

以下是HTMLVideoElement类的Safari API的链接:

http://developer.apple.com/library/safari/#documentation/AudioVideo/Reference/HTMLVideoElementClassReference/HTMLVideoElement/HTMLVideoElement.html#//apple_ref/doc/uid/TP40009356

我们可以很容易地找出video在Javascript中播放的时间,例如:

function onload() { var player = document.getElementsByTagName("video")[0]; player.addEventListener('play',videoPlayHandler,false); player.addEventListener('pause',videoPauseHandler,false); } 

但是,当video进入全屏模式时,他们似乎没有任何事件。

我们可以通过调用webkitEnterFullscreen()来强制video进入全屏模式,以响应用户的操作,但是这对我没有帮助。 我需要知道用户何时点击全屏button。

隐藏控件并用自己的自定义控件replace它们听起来像是一个非常长的解决scheme。

我能想到的另一个select是设置计时事件,不断检查webkitDisplayingFullscreen属性,但是在内存pipe理方面感觉这是一件坏事。

任何人都可以build议更好的解决

在一个朋友身边折腾多久后,终于指引我走向了正确的方向。

我正在寻找的事件是: webkitbeginfullscreenwebkitendfullscreen

 var player = document.getElementsByTagName("video")[0]; player.addEventListener('webkitbeginfullscreen', onVideoBeginsFullScreen, false); player.addEventListener('webkitendfullscreen', onVideoEndsFullScreen, false); 

这样,当用户点击Safari浏览器上的全屏button时,我可以安全地捕捉iPad。 有趣的是,同样的事件似乎不适用于iMac上的Safari(在版本5.1.2上testing)。

感谢苹果公司的不一致和浪费时间。