如何用Javascript打开最大化的窗口?
我正在使用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浏览器,并点击右上angular的最大化图标。
正如我给height
和width
值如此之大,它接近最大化的窗口,但不是实际最大化的窗口。 (我之所以这样说,是因为即使现在如果我点击最大化button,它进一步扩大一点点)
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);
除非用户真正需要,否则请不要打开popup窗口,否则会诅咒您并将您的网站列入黑名单。 😉
编辑 :哎呀,正如Joren Van Severen在评论中指出的,这可能不考虑任务栏和窗口装饰(可能依赖于浏览器的方式)。 意识到。 似乎忽略高度和宽度(只有参数是fullscreen=yes
)似乎在Chrome和Firefox也可以工作; 原来的“全屏”function已被禁用在Firefox的讨厌,但已被取代最大化。 这与https://developer.mozilla.org/en/DOM/window.open的同一页面上的信息直接矛盾,它说窗口最大化是不可能的。; 这个“function”可能会或可能不会被支持,这取决于浏览器。
window.open('your_url', 'popup_name','height=' + screen.height + ',width=' + screen.width + ',resizable=yes,scrollbars=yes,toolbar=yes,menubar=yes,location=yes')
目前我能find的最佳解决scheme是打开最大化窗口(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)上不起作用。 不知道这是一个错误还是devise错误 (我已经填写了一个错误报告 ,我们将看到他们有什么要说的)。 这是一个解决方法:
if (navigator.userAgent.match(/Edge\/\d+/g)) { return window.open("your_url", "popup", "width=" + screen.width + ",height=" + screen.height); }
注2 :如果您打开的窗口位于另一个域中, moveTo
或resizeTo
将不起作用(拒绝访问)。
签出这个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);
如果我使用Firefox然后screen.width
和screen.height
工作正常,但在IE和Chrome他们不能正常工作,而不是打开与最小的大小。
是的,我试图给予太大的数字,如10000
的height
和width
但不是最大化的效果。