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

时间:2012-04-24 11:43:46

标签: 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'); 

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

由于我已将heightwidth值设置得如此之大,因此它接近最大化窗口但不是实际最大化窗口。 (我之所以这么说是因为     即使现在,如果我点击最大化按钮,它进一步扩展一点点)

5 个答案:

答案 0 :(得分:73)

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);

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

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

答案 1 :(得分:11)

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

答案 2 :(得分:5)

我现在可以找到 打开最大化窗口的最佳解决方案是(Internet Explorer 11,Chrome 49,Firefox 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);
  }

请参阅https://jsfiddle.net/8xwocrp6/7/

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

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

注意2 :如果您要打开的窗口位于其他域中,则moveToresizeTo将无效(拒绝访问)。

答案 3 :(得分:1)

查看此jquery窗口插件:http://fstoke.me/jquery/window/

// create a window
sampleWnd = $.window({
   .....
});

// resize the window by passed w,h parameter
sampleWnd.resize(screen.width, screen.height);

答案 4 :(得分:1)

如果我使用Firefox,那么screen.widthscreen.height工作正常,但在IE和Chrome中,它们无法正常工作,而是以最小尺寸打开。

是的,我尝试为10000height提供过多的数字width但不完全是效果最大化。