5

我正在尝试编写一个事件处理程序来检测我拥有的视频播放器是处于全屏模式还是“常规”模式。

我试过使用

 document.addEventListener("fullscreenchange", myfunc, false);

但这在 IE 中不起作用,我使用 webkitfullscreenchange 和 mozfullscreenchange 事件为 firefox 和 chrome 实现了同样的事情。我可以在 IE 中为此使用任何其他事件吗?或者另一种方式来做到这一点?

任何帮助,将不胜感激。谢谢!

4

3 回答 3

13

你有 jQuery,所以使用它:

var screen_change_events = "webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange";
$(document).on(screen_change_events, function () {

});

addEventListener无论如何,早于 IE 9 的版本不支持)

同时,看起来任何版本的 IE 都不支持全屏:

MDN 参考:

这是一个可能的黑客攻击:

于 2013-04-17T20:26:24.383 回答
1

有一个名为jquery-fullscreen的 jQuery 插件可以完全满足您的需求。在 Fullscreen-API 标准明确之前,这可能是最好的选择。

如果浏览器不支持它,您还可以使用Modernizr fullscreen-api 检查并通过自己触发事件来填充它(有关检测方法,请参阅此问题)

于 2013-04-17T20:44:50.377 回答
-2

下载此脚本:https ://raw.githubusercontent.com/sindresorhus/screenfull.js/gh-pages/dist/screenfull.js

使用此代码:

if (screenfull.enabled) {
    screenfull.onchange(() => {
        icono_full(screenfull.isFullscreen);
    });
}


function icono_full(x) {
    if (x == true) {
        //do when full screen is on
    } else {
        //not full screen
    }
}

见:https ://github.com/sindresorhus/screenfull.js

于 2017-04-09T00:36:09.173 回答