在全屏模式Internet Explorer中检测事件更改

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

我试过用

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

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

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

你有jQuery,所以使用它:

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

(无论如何,IE 9之前的版本不支持addEventListener

同时,在任何版本的IE中都不支持全屏:

MDN参考:

这是一个可能的黑客围绕它:

  • onfullscreenchange DOM事件

有一个名为jquery-fullscreen的jQuery插件可以完全按照你想要的方式执行。 在Fullscreen-API标准结晶之前,这可能是最好的选择。

您也可以使用Modernizr fullscreen-api检查并在浏览器不支持的情况下通过自己触发事件来填充它(请参阅此问题以获取检测方法)

下载此脚本: 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