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

时间:2013-04-17 20:20:54

标签: javascript jquery html dom

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

我尝试过使用

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

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

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

3 个答案:

答案 0 :(得分:10)

你有jQuery,所以使用它:

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

});

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

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

MDN参考:

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

答案 1 :(得分:1)

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

您也可以使用Modernizr fullscreen-api检查,如果浏览器不支持,请自行触发事件(请参阅this question了解检测方法)

答案 2 :(得分:-1)

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