【问题标题】:Change Window State to Fullscreen将窗口状态更改为全屏
【发布时间】:2011-05-26 10:13:58
【问题描述】:

如何在 javascript 中将 Web 浏览器窗口状态更改为全屏(如用户按 F11 时)?我知道如何指定 Window.Open 方法打开的新窗口的窗口状态,但我想更改当前窗口的状态。

【问题讨论】:

标签: javascript


【解决方案1】:

不能而且你不应该这样做。

  • 您不应该这样做,因为这是一种令人讨厌的用户体验。所以让用户自己决定,也许可以要求他按下按钮进入全屏模式,但不要强迫他。
  • 您不能,因为浏览器供应商出于我最后一点的原因禁用了此功能。

最小的解决方法是将新窗口的窗口大小设置为接近屏幕分辨率,但如果用户有双屏,这可能会很棘手。

【讨论】:

  • 我已经意识到没有办法。 :( :( :(
【解决方案2】:

你不能。

只需要求用户按下 F11,然后通过检查键码 122(例如:keyup 事件)并将窗口大小与屏幕大小(screen.width)进行比较来检测用户是否按下它/height 和 window.innerWidth/Height)。

它并不完美,特别是对于拥有多个屏幕的用户而言。

【讨论】:

  • 您假设 F11 使浏览器全屏显示 - 它不在我的计算机上。 :-)
  • 这取决于浏览器(可能是另一个键),这就是为什么我们要进行第二次检查(屏幕和窗口)。
  • 我认为这不是不可能的。也许有作弊。
  • 在 Firefox 上,window.fullScreen 布尔属性告诉您用户是否处于全屏模式。
【解决方案3】:

你可以用JS打开一个没有工具栏的窗口:

window.open("http://www.stackoverflow.com","mywindow","menubar=0,resizable=1,toolbar=0,status=0,width=5000,height=5000");

它可能会被弹出窗口阻止程序阻止,但这是你能做的最多的事情。

【讨论】:

    【解决方案4】:

    到目前为止,我知道,只有在具有安全权限的情况下才有可能,例如在 Intranet 中。 例如:

    1. InternetExplorer.Application ActiveX 对象有一个“fullScreen”方法。

    2. 在 Firefox 3+ 中,如果您有 Chrome 权限,则可以使用“window.fullScreen = true;” 但如果没有这些权限,此属性是只读的 (https://developer.mozilla.org/en/DOM:window.fullScreen)。

    【讨论】:

      【解决方案5】:

      简单。

      <strong>Please view in fullscreen (F11 on most browsers).</strong>
      <a href="javascript:showExplanation()">Here's why</a>
      

      不,从用户手中移除对浏览器的控制是没有作弊的。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        相关资源
        最近更新 更多