检查浏览器是否全屏显示

Mar*_*ark 40 javascript jquery

可能重复:
检测浏览器是否处于全屏模式

有没有办法检查浏览器当前是否处于全屏模式(用户按下f11后)?

就像是:

if (window.fullscreen) {
  // it's fullscreen!
}
else {
  // not fs!
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

Steerpike的答案非常好,但我的评论是:

非常感谢,但这个答案对于FF来说是不够的.在Chrome中,我可以设置一个小容差,但在FF中,urlbar和tabs需要一段时间才能消失,这意味着在按下f11后,检测到的window.innerWidth仍然太小.

小智 31

这适用于所有新浏览器:

if (!window.screenTop && !window.screenY) {
    alert('Browser is in fullscreen');
}
Run Code Online (Sandbox Code Playgroud)

  • 今天不适用于铬 (9认同)
  • 镀铬最大化也触发了这一点. (4认同)
  • 很好的答案,但你能更具体地说"新"吗? (3认同)
  • 不,不是真的,如果您将浏览器窗口直接连接到屏幕顶部,在Windows上,该条件也将成立. (2认同)

use*_*342 24

在Firefox 3,window.fullScreen作品(https://developer.mozilla.org/en/DOM/window.fullScreen).

所以,你可以做这样的事情:

if((window.fullScreen) ||
   (window.innerWidth == screen.width && window.innerHeight == screen.height)) {

} else {

}
Run Code Online (Sandbox Code Playgroud)

  • *只是一个假设:*如果您打开浏览器的Web控制台,那么(下半部分)将不起作用,您*做*,因为您*正在测试它.此外,至少从2017年开始,*all*浏览器中Fullscreen API的实施与赢得彩票一致. (4认同)
  • `fullscreenElement` 仅适用于 JS 触发全屏,不适用于用户按 F11。 (3认同)
  • 自`18 https://developer.mozilla.org/en-US/docs/Web/API/DocumentOrShadowRoot/fullscreenElement (2认同)

Ste*_*ike 9

if(window.innerWidth == screen.width && window.innerHeight == screen.height) {

} else {

}
Run Code Online (Sandbox Code Playgroud)

(警告:浏览器镶边可能会与高度比较混淆,但宽度检查应该很明显)