我有一个选择框,调用window.open(url)当一个项目被选中。默认情况下,Firefox将在新选项卡中打开页面。但是,我希望页面在一个新的窗口中打开,而不是一个新的选项卡。
我怎样才能做到呢?
我有一个选择框,调用window.open(url)当一个项目被选中。默认情况下,Firefox将在新选项卡中打开页面。但是,我希望页面在一个新的窗口中打开,而不是一个新的选项卡。
我怎样才能做到呢?
当前回答
为打开调用指定窗口“features”:
window.open(url, windowName, "height=200,width=200");
当您指定宽度/高度时,它将在一个新窗口中打开,而不是一个选项卡。
请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window.open#Position_and_size_features了解所有可能的功能。
其他回答
你不需要这么做。允许用户拥有他们想要的任何首选项。
Firefox默认是这样做的,因为在一个新窗口中打开一个页面很烦人,如果用户不希望页面这样做,就不应该允许页面这样做。(Firefox允许你在新窗口中打开标签,如果你这样设置的话)。
Try:
window.open("", [window name], "height=XXX,width=XXX,modal=yes,alwaysRaised=yes");
我有一些代码,做什么你说,但有很多参数。我认为这些是最低限度的,如果它不起作用,请告诉我,我会张贴剩下的。
我刚刚尝试了IE(11)和Chrome(54.0.2794.1金丝雀SyzyASan):
window.open(url, "_blank", "x=y")
... 它打开了一个新的窗口。
这意味着Clint pachl说的是对的,他说提供任何一个参数都会导致新窗口打开。
——显然,它不必是一个合法的参数!
(YMMV -如我所说,我只在两个地方测试了它…下一次升级可能会使结果无效,无论如何)
我刚刚注意到,在IE中,窗口没有任何装饰。
在这里回答说。但再次发布,以供参考。
Window.open()将不会在新选项卡中打开,如果它没有发生在实际的单击事件。在这个例子中,url是在实际点击事件中被打开的。这将工作提供用户在浏览器中有适当的设置。
<a class="link">Link</a>
<script type="text/javascript">
$("a.link").on("click",function(){
window.open('www.yourdomain.com','_blank');
});
</script>
类似地,如果你试图在click函数中进行ajax调用,并希望在成功时打开一个窗口,请确保你正在使用async: false选项集进行ajax调用。
我可能错了,但据我所知,这是由用户的浏览器首选项控制的,我不相信这可以被重写。