如何确定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议更好的解决
在一个朋友身边折腾多久后,终于指引我走向了正确的方向。
我正在寻找的事件是: webkitbeginfullscreen和webkitendfullscreen
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)。
感谢苹果公司的不一致和浪费时间。
- iPhone本地存储“QUOTA_EXCEEDED_ERR”的问题
- iOS 8 – video和声音文件将不会从主屏幕的networking应用程序播放
- iPad 2 Safari显示像素化的HTML文本和图像
- iOS – html5 – 全屏模式 – 禁用清理
- iOS的UiWebView /页面可见性Api:“pageshow”事件不会触发
- Canvas.toDataURL不适用于移动Safari iOS?
- iOS:苹果是否禁用保存到主屏幕的网页应用的HTML5离线function?
- Mobile Safari和HTML5 iOSnetworking应用程序支持哪些audio文件types(例如,mp3,ogg)?
- 从HTML5创build本机iOS / Android应用程序