有没有办法可靠地检测浏览器是否以全屏模式运行?我很确定没有任何我可以查询的浏览器 API,但是有没有人通过检查和比较 DOM 公开的某些高度/宽度测量来解决这个问题?即使它只适用于某些浏览器,我也有兴趣了解它。
检测浏览器是否处于全屏模式
IT技术
javascript
dom
browser
fullscreen
2021-01-24 02:34:19
6个回答
Chrome 15、Firefox 10 和 Safari 5.1 现在提供 API 以编程方式触发全屏模式。以这种方式触发的全屏模式提供了检测全屏更改的事件和用于设置全屏元素样式的 CSS 伪类。
有关详细信息,请参阅此 hacks.mozilla.org 博客文章。
如何确定视口宽度和分辨率宽度以及高度之间的距离。如果它是少量像素(尤其是高度),则它可能处于全屏状态。
但是,这永远不会可靠。
Opera 将全屏视为不同的 CSS 媒体类型。他们称之为Opera Show,您可以轻松控制它:
@media projection {
/* these rules only apply in full screen mode */
}
结合Opera@USB,我个人觉得它非常方便。
Firefox 3+ 为window
报告浏览器是否处于全屏模式的对象提供了一个非标准属性:window.fullScreen
。
只是想我会加上我的 thruppence 来拯救任何人敲他们的头。如果您可以完全控制流程,即您可以在代码中启动全屏流程,则第一个答案非常好。如果有人通过按 F11 来做到这一点,那将毫无用处。
希望的地平线上的一线希望来到这个W3C推荐的形式http://www.w3.org/TR/view-mode/这将使窗检测,浮动(无铬),最大化,最小化,并通过全屏媒体查询(当然意味着 window.matchMedia 和关联)。
我已经看到有迹象表明它正在使用 -webkit 和 -moz 前缀的实施过程中,但它似乎还没有投入生产。
所以不,没有解决方案,但希望我能拯救一些在撞墙之前跑来跑去的人。
PS *:-moz-full-screen 也做 doo-dah,但很高兴知道。