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

IT技术 javascript internet-explorer
2021-03-02 14:24:20

我正在使用 Javascriptself.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个回答
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 is fullscreen=yes)似乎适用于 Chrome,也许也适用于 Firefox;最初的“全屏”功能在 Firefox 中因令人讨厌而被禁用,但已被最大化取代。这直接与https://developer.mozilla.org/en/DOM/window.open同一页面上的信息相矛盾,该信息表示窗口最大化是不可能的。根据浏览器的不同,可能支持也可能不支持此“功能”。

这是 screen.availHeight 对应的。屏幕.availWidth。反正尺码还是不合身...
2021-04-30 14:24:20
这将打开一个大于常规最大化窗口的窗口。最大化窗口的高度是 screen.height - 任务栏的高度(似乎还有一些窗口装饰)。
2021-05-10 14:24:20
 window.open('your_url', 'popup_name','height=' + screen.height + ',width=' + screen.width + ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes')
唯一改变的是窗口而不是自我。有什么不同?
2021-04-18 14:24:20

我能找到的最好的解决方案,目前的时间打开窗口最大化为器(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);
  }

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

注2moveToresizeTo将无法正常工作(拒绝访问)如果你是开放的窗口是在另一个领域。

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

是的,我尝试10000为两者提供太大的数字heightwidth但并不完全是最大化的效果。

查看这个 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);