我在android上通过cordova / phonegap运行了一个应用程序。我们将方向锁定为纵向,但如果用户播放视频,我们希望切换横向。我跟着this post但我无法使其正常工作,因为fullscreenchange
事件仅在通过后退按钮离开全屏时触发,而不是通过单击视频控件的全屏按钮进入全屏。
以下是代码:
$(document).on('webkitfullscreenchange fullscreenchange', handler) // -> handler not called on entering fullscreen
这可能是浏览器错误吗?其他人遇到过这个问题或者有其他解决方案/解决方法吗?
在Android 4.x上测试。
编辑:这可能是原因吗? http://caniuse.com/#feat=fullscreen(没有全屏支持Android) - 但它会在通过后退按钮离开全屏时触发......答案 0 :(得分:1)
似乎webkitbeginfullscreen
事件被解雇了。
所以现在我可能会使用这样的东西:
videoEl.addEventListener('webkitbeginfullscreen', function() {
screen.lockOrientation('landscape-primary');
}, false);
videoEl.addEventListener('webkitendfullscreen', function() {
screen.lockOrientation('portrait-primary');
}, false);
请参阅https://stackoverflow.com/a/22010698/2235793
注意:这两个事件不会在运行android 4.4.4的nexus 5上触发(在cordova v3.6内)。但是,在进入和退出时会触发webkitfullscreenchange事件。叹息。