2011-05-26 85 views
5

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

+0

可能的重复[如何在JavaScript全屏窗口(拉伸所有屏幕)]](http://stackoverflow.com/questions/1125084/how-to-make-in-javascript-full-screen- windows-stretching-all-the-screen) – Oswald 2011-05-26 10:16:05

+0

Duplicate http://stackoverflow.com/questions/1125084/how-to-make-in-javascript-full-screen-windows-stretching-all-over-the-屏幕。 – 2011-05-26 10:16:32

+1

大声笑,不,我告诉过你**当前窗口** – Saleh 2011-05-26 10:18:11

回答

16

不能和你不应该做到这一点。

  • 你不应该这样做,因为这是一个恼人的用户体验。所以让用户决定,也许让他按全屏模式按钮,但不要强迫他。
  • 您不能因为浏览器供应商因我最后一点而禁用此功能。

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

+0

我意识到没有办法。 :(:( – Saleh 2011-06-06 10:00:39

5

你不能。

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

这并不完美,特别适用于多屏幕用户。

+1

你假设F11让浏览器全屏 - 它不在我的电脑上。 :-) – RobG 2011-05-26 11:38:11

+0

这取决于浏览器(可能是另一个关键),这就是为什么我们有第二次检查(屏幕和窗口之一)。 – 2011-05-26 17:36:03

+0

我不认为这是不可能的。也许有一个作弊。 – Saleh 2011-05-28 10:25:16

1

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

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

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

1

到目前为止,我知道,它只可能具有安全特权,就像在内联网中一样。 例如:

  1. 的InternetExplorer.Application ActiveX对象有一个 “全屏” 的方法。在Firefox 3 +中,如果您有Chrome权限,则可以使用“window.fullScreen = true;” 但没有这些特权这个属性是只读的(https://developer.mozilla.org/en/DOM:window.fullScreen)。

0

简单。

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

不,没有欺骗手段去除用户对浏览器的控制。