如何在开启窗口后面放置一个用window.open()打开的窗口?

时间:2012-01-27 00:39:24

标签: javascript onclick href

我有一个链接,点击后通过默认的<a>元素点击行为替换当前页面,但也调用JavaScript函数在新窗口中打开另一个页面。我希望从我的JavaScript函数打开的新窗口出现在当前窗口的后面,但无法弄清楚如何执行此操作。在实际使用中,我将click thrus提供给数据库,该数据库由window.open语句控制。另一个链接是在新窗口中的客户端站点。我希望客户网站显示在最顶层。

我目前的代码如下:

<script language="JavaScript" type="text/JavaScript">
    function countClicks(a,b)
    { 
       window.open("http://stackoverflow.com?id="+a+"&id2="+b, "_blank");
    }
</script>

<a href="google.com" name="xy" onclick="javascript:countClicks(2,3);">test</a>

因此,对于上面显示的示例网址,我希望带有Google的(原始)窗口显示在带有StackOverflow的新窗口的前面,但新窗口始终会在前面打开。

2 个答案:

答案 0 :(得分:0)

弹出窗口行为因浏览器/用户设置而异。我自己无法复制开放行为,但我相信你所寻找的是.focus()

尝试:

window.open("http://stackoverflow.com?id="+a+"&id2="+b, "_blank").focus();

答案 1 :(得分:0)

尝试在现有功能的末尾使用window.focus()

function countClicks(a,b) {
   window.open("http://stackoverflow.com?id="+a+"&id2="+b, "_blank");
   window.focus();
}

这应该将现有窗口带回到前面,注意浏览器之间的行为可能会有所不同,具体取决于弹出窗口阻止设置等。

或者您可以只交换两个网址,即将StackOverflow网址放在href中,并使用直接指定的相应查询字符串而不是JS,并将Google网址放入window.open()调用中