在Chrome的网页浏览中无法全屏html5视频

时间:2015-04-17 13:12:30

标签: html5 google-chrome webview html5-video fullscreen

我一直在寻找这个答案,但我并没有真正得到任何答案。我的问题是关于计算机上的chrome应用程序内的webview,而不是Android。如果我在webview中有任何嵌入的html5视频,则全屏按钮不起作用。所有其他视频控件都正常工作。我做了一些搜索,人们说webview并不完全支持html5 API。这仍然是这样吗?我看到的答案相当陈旧,我最近找不到任何东西。

任何建议/答案将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:2)

它支持版本43的html5全屏,您可以使用全屏权限API: 请参阅event-permissionrequestFullscreenPermissionRequest。 基本上,你必须" allow()"许可,就像:



webview.addEventListener('permissionrequest', function(e) {
  if (e.permission === 'fullscreen') {
    e.request.allow();
  }
});




答案 1 :(得分:1)

除了lazyboy的答案,设置全屏权限并允许它:

webview.addEventListener('permissionrequest', function(e) {
    if (e.permission === 'fullscreen') {
    e.request.allow();
    }
});

可能还需要将webview尺寸本身设置为屏幕尺寸,因为有时HTML5视频可能仅在webview内(而不是屏幕)进行全屏显示。这可以这样做:

document.addEventListener('webkitfullscreenchange', function(){
if (chrome.app.window.current().isFullscreen()){
    webview.style.height = screen.height + 'px';
    webview.style.width = screen.width + 'px';
}
else{
   /*get webview to original dimensions*/
};
});

webkitfullscreenchange侦听全屏更改。 如果chrome窗口是全屏chrome.app.window.current().isFullscreen(),则它将webview宽度和高度分别设置为屏幕宽度和高度。 如果窗口不是全屏,则可以将webview维度返回到所需的位置。