检测全屏模式

2024-03-25

现代桌面版 IE 10 始终是全屏的。

有一个居住规范 https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html for :fullscreenW3 上的伪类

但是当我尝试使用 jQuery 版本 1.9.x 和 2.x 检测全屏时:

$(document).is(":fullscreen") 

它抛出了这个错误:

语法错误,无法识别的表达式:全屏

问题:

  1. 是因为 jQuery 还不能识别这个标准或者 IE10 吗?

  2. 是什么legacy检查全屏模式的方法?我期待以下结果:

    function IsFullScreen() {
         /* Retrun TRUE */
         /* If UA exists in classic desktop and not in full screen  */
         /* Else return FALSE */
    }
    
  3. 我们可以在不嗅探浏览器的情况下做到这一点吗?


正如您所发现的,浏览器兼容性是一个很大的缺点。毕竟,这是非常新的事情。

然而,由于您使用 JavaScript 工作,因此您可以使用的选项比仅使用 CSS 多得多。

例如:

if( window.innerHeight == screen.height) {
    // browser is fullscreen
}

您还可以检查一些稍微宽松的比较:

if( (screen.availHeight || screen.height-30) <= window.innerHeight) {
    // browser is almost certainly fullscreen
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测全屏模式 的相关文章