我正在尝试编写一个事件处理程序,用于检测我所拥有的视频播放器是处于全屏还是“常规”模式。
我尝试过使用
document.addEventListener("fullscreenchange", myfunc, false);
但这在IE中不起作用,我使用webkitfullscreenchange和mozfullscreenchange事件为firefox和chrome实现了同样的功能。我可以在IE中使用其他任何事件吗?或者另一种方式呢?
任何帮助将不胜感激。谢谢!
答案 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
}
}