在chrome的webview中无法全屏显示html5视频
我一直在寻找这个答案一段时间,但我并没有真正得到任何地方。我的问题是关于计算机上的Chrome应用程序内部的webview,而不是Android。如果我在webview中嵌入了html5视频,全屏按钮不起作用。所有其他的视频控制工作正常。我已经做了一些搜索,人们都说webview并不完全支持html5 API。这仍然是这样吗?我看到的答案相当陈旧,而且我最近无法找到任何东西。在chrome的webview中无法全屏显示html5视频
任何建议/答案将不胜感激!谢谢!
它从版本43支持html5全屏,您可以使用全屏权限API: 请参阅event-permissionrequest和FullscreenPermissionRequest。 基本上,你要 “允许()” 的许可,某事像:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'fullscreen') {
e.request.allow();
}
});
除了通过设置全屏许可,允许它的lazyboy的回答是:
webview.addEventListener('permissionrequest', function(e) {
if (e.permission === 'fullscreen') {
e.request.allow();
}
});
也可能需要将web视图尺寸本身设置为屏幕尺寸,因为有时HTML5视频可能仅在web视图(而不是屏幕)内全部显示。可以这样做:
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尺寸返回到所需的尺寸。
顺便说一下,在调用webkitfullscreenchange'时,'chrome.app.window.current()。isFullscreen()'已经是false了,你必须这样做:'if(!chrome.app.window.current())。 isFullscreen())//全屏,使用屏幕尺寸作为webview的高度和宽度 } else { //非全屏,使用原始webview尺寸 } – bithavoc
谢谢!我会试一试! –