2015-04-17 73 views
0

我一直在尋找這個答案一段時間,但我並沒有真正得到任何地方。我的問題是關於計算機上的Chrome應用程序內部的webview,而不是Android。如果我在webview中嵌入了html5視頻,全屏按鈕不起作用。所有其他的視頻控制工作正常。我已經做了一些搜索,人們都說webview並不完全支持html5 API。這仍然是這樣嗎?我看到的答案相當陳舊,而且我最近無法找到任何東西。在chrome的webview中無法全屏顯示html5視頻

任何建議/答案將不勝感激!謝謝!

回答

2

它從版本43支持html5全屏,您可以使用全屏權限API: 請參閱event-permissionrequestFullscreenPermissionRequest。 基本上,你要 「允許()」 的許可,某事像:

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

+0

謝謝!我會試一試! –

1

除了通過設置全屏許可,允許它的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尺寸返回到所需的尺寸。

+0

順便說一下,在調用webkitfullscreenchange'時,'chrome.app.window.current()。isFullscreen()'已經是false了,你必須這樣做:'if(!chrome.app.window.current())。 isFullscreen())//全屏,使用屏幕尺寸作爲webview的高度和寬度 } else { //非全屏,使用原始webview尺寸 } – bithavoc