2013-10-16 104 views
7

我正在創建自己的HTML 5瀏覽器播放器。所有的控件在IE 10,Chrome,Safari和Firefox的全屏工作方面起着很大的作用。全屏視頻HTML 5 Internet Explorer

我的JavaScript技能不是最好的,所以如果有人能以簡單的方式解釋我的事情,那將是非常棒的。

我在某些網站上看到IE不支持全屏,如果是這種情況,爲什麼我可以通過IE10上的瀏覽器播放器控件去全屏? (憎恨微軟如此廢話,背後的一切!)

將不勝感激,幫助和建議!提前致謝!

這是我到目前爲止有我的全屏功能:

function toggleFullScreen() { 
    if(vid.requestFullScreen) { 
    vid.requestFullScreen(); 
    } else if(vid.webkitRequestFullScreen) { 
    vid.webkitRequestFullScreen(); 
    } else if(vid.mozRequestFullScreen) { 
    vid.mozRequestFullScreen(); 
    } 
    } 

回答

6

我讀過一些網站,IE瀏覽器不支持全屏

它贏得了」 t支持full screen api直到版本11.

如果是這種情況,爲什麼我可以通過兄弟全屏顯示在IE10上的wser播放器控件?

因爲它們是原生對照;他們不使用全屏API。

+0

好吧我明白了,所以沒有辦法來解決這個問題?我可以不通過JS訪問本機控件嗎? @Quentin – 001221

+0

不,沒有辦法繞過它。 – Quentin

9

IE已經不支持全屏API,直到版本11

不過,如果你正在尋找產生IE10 < =類似的效果,你可以切換position: staticposition: fixed之間的元素。雖然元素具有固定的位置,但您可以給它width: 100%; height: 100%

你可以看到這是如何完成對IE的YouTube's HTML5 player

此外,看起來您可以通過JavaScript發送F11按鍵,使瀏覽器窗口進入全屏查看模式。

var wscript = new ActiveXObject("Wscript.shell"); 
wscript.SendKeys("{F11}"); 

有了這兩個方法的結合,我覺得這是最接近IE可以仿效全屏API獲得。

1

注意,IE11也需要供應商前綴。 msRequestFullscreen()

所以完全跨瀏覽器的功能,你需要的是這樣的:

var video = document.getElementById('videoID'); 
if (video.requestFullscreen) { 
    video.requestFullscreen(); 
} else if (video.mozRequestFullScreen) { 
    video.mozRequestFullScreen(); 
} else if (video.webkitRequestFullscreen) { 
    video.webkitRequestFullscreen(); 
} else if (video.msRequestFullscreen) { 
    video.msRequestFullscreen(); 
}