如何用Javascript打开最大化窗口?

M S*_*ach 44 javascript internet-explorer

我正在使用Javascript self.open()来在新窗口中打开链接,我希望该窗口最大化.我尝试了这个fullscreen=yes选项,它真的不能做我想要的.我使用下面的代码:

self.open(pageLoc,popUpName,'height=1600,width=1800,resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes'); 
Run Code Online (Sandbox Code Playgroud)

如果我也提到fullscreen=yes,那么窗口会像按F11一样打开.但我不希望如此.我想要的是当我双击IE并点击右上角的最大化图标时.

正如我所提供的heightwidth值如此之大,它是接近最大化的窗口,但不是实际的窗口最大化.(我说这个的原因是因为即使现在如果我点击最大化按钮,它进一步扩展一点点)

nin*_*cko 78

var params = [
    'height='+screen.height,
    'width='+screen.width,
    'fullscreen=yes' // only works in IE, but here for completeness
].join(',');
     // and any other options from
     // https://developer.mozilla.org/en/DOM/window.open

var popup = window.open('http://www.google.com', 'popup_window', params); 
popup.moveTo(0,0);
Run Code Online (Sandbox Code Playgroud)

除非用户真的想要,否则请不要打开弹出窗口,否则他们会诅咒你并将你的网站列入黑名单.;-)

编辑:糟糕,正如Joren Van Severen在评论中指出的那样,这可能不会考虑任务栏和窗口装饰(可能依赖于浏览器的方式).意识到.似乎忽略高度和宽度(只有param是fullscreen=yes)似乎也可以在Chrome和Firefox上使用; Firefox中禁用了原始的"全屏"功能,但这种功能令人讨厌,但已被最大化所取代.这与https://developer.mozilla.org/en/DOM/window.open同一页面上的信息直接相矛盾,后者表示窗口最大化是不可能的.根据浏览器的不同,可能支持也可能不支持此"功能".

  • 这将打开一个大于常规最大化窗口的窗口.最大化窗口的高度是screen.height - 任务栏的高度(以及一些窗口装饰). (6认同)
  • 这是 screen.availHeight 对应的。屏幕.availWidth。反正尺码还是不合身... (2认同)

sil*_*lly 11

 window.open('your_url', 'popup_name','height=' + screen.height + ',width=' + screen.width + ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes')
Run Code Online (Sandbox Code Playgroud)


Gyu*_*Fox 7

我能找到的最好的解决方案,目前的时间打开窗口最大化为器(Internet Explorer 11,铬49,火狐45):

  var popup = window.open("your_url", "popup", "fullscreen");
  if (popup.outerWidth < screen.availWidth || popup.outerHeight < screen.availHeight)
  {
    popup.moveTo(0,0);
    popup.resizeTo(screen.availWidth, screen.availHeight);
  }
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/8xwocrp6/7/

注1:它不适用于Edge(13.1058686).不确定它是否是一个错误或者是否符合设计(我已经填写了错误报告,我们将看到他们对此有何看法).这是一个解决方法:

if (navigator.userAgent.match(/Edge\/\d+/g))
{
    return window.open("your_url", "popup", "width=" + screen.width + ",height=" + screen.height);
}
Run Code Online (Sandbox Code Playgroud)

注2:moveToresizeTo将无法正常工作(拒绝访问),如果你要打开的窗口,是另一个领域.