我有一个选择框,调用window.open(url)当一个项目被选中。默认情况下,Firefox将在新选项卡中打开页面。但是,我希望页面在一个新的窗口中打开,而不是一个新的选项卡。

我怎样才能做到呢?


当前回答

有趣的是,我发现如果您为window的第三个属性传递一个空字符串(而不是空字符串或属性列表)。打开,它将在Chrome, Firefox和IE的新选项卡中打开。如果缺席,行为就不同了。

这是我的新号召:

 window.open(url, windowName, '');

其他回答

有趣的是,我发现如果您为window的第三个属性传递一个空字符串(而不是空字符串或属性列表)。打开,它将在Chrome, Firefox和IE的新选项卡中打开。如果缺席,行为就不同了。

这是我的新号召:

 window.open(url, windowName, '');

你可以试试下面的函数:

<script type="text/javascript">
function open(url)
{
  var popup = window.open(url, "_blank", "width=200, height=200") ;
  popup.location = URL;
}
</script>

执行的HTML代码:

<a href="#" onclick="open('http://www.google.com')">google search</a>

我可能错了,但据我所知,这是由用户的浏览器首选项控制的,我不相信这可以被重写。

关键是参数:

如果你提供参数[Height="", Width=""],那么它将在新窗口中打开。

如果你不提供参数,那么它将在新选项卡中打开。

在Chrome和Firefox中测试

在这里回答说。但再次发布,以供参考。

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调用。