我有一个选择框时,选择window.open(url)
一个项目时调用.Firefox默认会在新标签页中打开该页面.但是,我希望页面在新窗口中打开,而不是新选项卡.
我怎么能做到这一点?
给窗口一个'specs'参数,宽度/高度.请参阅此处了解所有可能的选项.
window.open(url, windowName, "height=200,);
指定宽度/高度时,它将在新窗口中打开它而不是选项卡.
您不需要使用高度,只需确保使用_blank
,如果没有它,它将在新选项卡中打开.
对于空窗口:
window.open('', '_blank', 'toolbar=0,location=0,menubar=0');
对于特定的URL:
window.open('http://www.google.com', '_blank', 'toolbar=0,location=0,menubar=0');
我可能错了,但据我所知,这是由用户的浏览器偏好控制的,我不相信这可以被覆盖.
尝试:
window.open("", [window name], "height=XXX,);
我有一些代码可以说你的意思,但其中有很多参数.我认为这些是最低限度的,让我知道如果它不起作用,我会发布其余的.
好的,经过大量的测试,我的结论是:
执行时:
window.open('www.yourdomain.tld','_blank'); window.open('www.yourdomain.tld','myWindow');
或者你在目标字段中放置的任何内容,这将不会改变任何内容:新页面将在新选项卡中打开(因此取决于用户首选项)
如果您希望在新的"真实"窗口中打开页面,则必须添加额外的参数.喜欢:
window.open('www.yourdomain.tld', 'mywindow','location=1,status=1,scrollbars=1, resizable=1, directories=1, toolbar=1, titlebar=1');
经过测试,看起来你使用的额外参数,并不重要:这不是你把"这个参数"或"另一个"创建新的"真实窗口"但事实上有新参数的事实(s ).
但有些东西很混乱,可能解释了很多错误的答案:
这个:
win1 = window.open('myurl1', 'ID_WIN'); win2 = window.open('myurl2', 'ID_WIN', 'location=1,status=1,scrollbars=1');
还有这个:
win2 = window.open('myurl2', 'ID_WIN', 'location=1,status=1,scrollbars=1'); win1 = window.open('myurl1', 'ID_WIN');
不会给出相同的结果.
在第一种情况下,当您首次打开没有额外参数的页面时,它将在新选项卡中打开.在这种情况下,由于您提供的名称,第二个调用也将在此选项卡中打开.
在第二种情况下,当您使用额外参数进行第一次调用时,页面将在新的" 真实窗口 "中打开.在这种情况下,即使第二次调用是在没有额外参数的情况下进行的,它也将在这个新的" 真实窗口 "中打开 ......但是相同的标签!
这意味着第一次调用很重要,因为它决定了放置页面的位置.
您可以尝试以下功能:
用于执行的HTML代码:
google search
你不应该这样做.允许用户拥有他们想要的任何偏好.
Firefox默认情况下会这样做,因为在新窗口中打开页面很烦人,如果不是用户所希望的话,绝不允许页面这样做.(Firefox允许您在新窗口中打开选项卡,如果您这样设置).
有趣的是,我发现如果你为window.open的第三个属性传入一个空字符串(而不是空字符串或属性列表),它将在Chrome,Firefox和IE的新选项卡中打开.如果缺席,行为就不同了.
所以,这是我的新电话:
window.open(url, windowName, '');
关键是参数:
如果您提供 参数[Height ="",Width =""],则它将在新窗口中打开.
如果您不提供参数,则它将在新选项卡中打开.
在Chrome和Firefox中测试过