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

Javascript 在全屏模式Internet explorer中检测事件更改,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我正在尝试编写一个事件处理程序来检测我的视频播放器是处于全屏模式还是“常规”模式 我试过使用 document.addEventListener("fullscreenchange", myfunc, false); 但这在IE中不起作用,我使用webkitfullscreenchange和mozfullscreenchange事件为firefox和chrome实现了同样的功能。在IE中是否还有其他事件可以用于此?还是另一种方法 任何帮助都将不胜感激。谢谢 您有jQuery,所以请使用它:

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

我试过使用

 document.addEventListener("fullscreenchange", myfunc, false);
但这在IE中不起作用,我使用webkitfullscreenchange和mozfullscreenchange事件为firefox和chrome实现了同样的功能。在IE中是否还有其他事件可以用于此?还是另一种方法


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

您有jQuery,所以请使用它:

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

});
addEventListener
无论如何在IE 9之前的版本中不受支持)

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

MDN参考:

这里有一个可能的破解方法:


有一个名为jQuery的插件,它可以完全满足您的需要。在全屏API标准明确化之前,这可能是最好的选择

如果浏览器不支持,您也可以使用全屏api检查,并通过自己触发事件(有关检测方法,请参阅)对其进行填充。

下载此脚本:

使用此代码:

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
    }
}

请参阅:

很抱歉,IE10不支持HTML5全屏API,因此我怀疑除了黑客之外,任何东西都不会起作用。是的,我看到了这个黑客,但我只是想知道是否有一个更标准的方法来实现这一点,谢谢@是的,有全屏API,但这在任何IE和许多浏览器中都不受支持。没有任何东西可以模仿它。可能有jQuery插件或其他东西,但它们所做的只是使使用API更容易。如果浏览器不支持该API,我认为黑客是唯一/最好的选择。@Ian这在IE11或更高版本上不起作用,对于IE11或更高版本,请将“MSFullscreenChange”添加到screen_change_Events不要忘了接受答案,如果适用,请对答案和备选答案进行投票。看:我用IE11试过了,但没用。我也尝试过“MSFullscreenChange”,但它不起作用。还有其他方法吗?OP正在寻求IE的解决方案。根据MDN,
显示模式
仅适用于Chrome和Firefox:。你在IE上测试过你的解决方案吗?我不知道怎么做,但我打开了IE上的示例链接,它工作得很好,现在你完全改变了你的答案——上次我看到它时它是基于CSS/媒体查询的——也许它工作得很好。