7

我正在创建自己的 HTML 5 浏览器播放器。所有控件都可以在 IE 10、Chrome、Safari 和 Firefox 中全屏运行时运行良好。

我的 JavaScript 技能不是最好的,所以如果有人能以简单的方式为我解释事情,那就太好了。

我在一些网站上看到 IE 不支持全屏,如果是这种情况,为什么我可以通过 IE10 上的浏览​​器播放器控件进入全屏?(讨厌微软如此垃圾和落后于一切!)

将不胜感激和帮助和建议!提前致谢!

这是我迄今为止的全屏功能:

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

4 回答 4

9

IE 直到版本 11 才支持全屏 API。

但是,如果您希望在 IE10<= 中产生类似的效果,您可以在position: static和之间切换一个元素position: fixed。虽然元素有固定的定位,但你可以给它width: 100%; height: 100%

您可以在 YouTube 的IE的 HTML5 播放器上看到这是如何完成的。

此外,您似乎可以F11从 JavaScript 发送按键,从而使浏览器窗口进入全屏查看模式。

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

结合这两种方法,我认为这是 IE 在模拟全屏 API 时最接近的方法。

于 2013-11-06T18:48:12.623 回答
6

我在一些网站上看到 IE 不支持全屏

直到版本 11 才支持全屏 api 。

如果是这种情况,为什么我可以通过 IE10 上的浏览​​器播放器控件进入全屏模式?

因为它们是本机控件;他们不使用全屏 API。

于 2013-10-16T11:07:42.950 回答
1

IE 11 确实支持它,运行良好,在某些情况下比 Chrome 更好,但是 iframe 存在一个错误:

https://connect.microsoft.com/IE/feedback/details/814527/ie11-iframes-body-offsetwidth-incorrect-when-iframe-is-in-full-screen-mode#tabs

于 2014-02-07T02:54:46.780 回答
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();
}
于 2015-08-05T12:27:04.397 回答