【问题标题】:How to put a window opened with window.open() behind the opener window?如何将使用 window.open() 打开的窗口放在开启窗口后面?
【发布时间】:2012-02-20 02:31:01
【问题描述】:

我有一个链接,当单击该链接时,会通过默认的<a> 元素单击行为将当前页面替换为另一个页面,但它也调用 JavaScript 函数以在新窗口中打开另一个页面。我希望从我的 JavaScript 函数打开的新窗口出现在当前窗口的后面,但不知道该怎么做。在实际使用中,我将点击输入到数据库,该链接由 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>

因此,对于上面显示的示例 URL,我希望 Google 的(原始)窗口出现在 StackOverflow 的新窗口前面,但新窗口总是在前面打开。

【问题讨论】:

  • 你是问如何设置新打开的窗口的位置和大小,以便它出现在点击打开它的链接上?
  • 我希望在上面的示例中,google 窗口出现在 stackoverflow 窗口上方。现在它出现在后面。
  • 我希望你不介意,但我(从根本上)改写了你的问题,以反映你在评论中所说的内容。本质上,您是在询问如何创建“弹出窗口”(与“弹出窗口”相比)。与您的问题无关,请注意,在像 onclick="something" 这样的内联事件属性中,您不需要说 javascript: - 这是假设的。
  • 如果我没看错的话,他正在尝试实现 pop-under 行为,这通常是为“邪恶”目的而保留的。此外,对于许多在浏览器中“正确”设置了弹出窗口阻止程序和/或 javascript 权限的人来说,它也不起作用。例如,Pop-unders 根本无法在我的浏览器中工作。
  • 在实际使用中,我将点击提供给数据库,该链接由 window.open 语句控制。另一个链接是指向新窗口中的客户站点。我希望客户网站出现在顶部。不确定您的邪恶陈述在这种情况下适用于何处。

标签: javascript onclick href


【解决方案1】:

尝试在现有函数的末尾使用window.focus():

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

这应该会使现有窗口回到前面,注意行为可能因浏览器而异,并取决于弹出窗口阻止设置等。

或者您可以交换两个 url,即将 StackOverflow url 放在 href 中,直接指定适当的查询字符串而不是在 JS 中,然后将 Google url 放在 window.open() 调用中。

【讨论】:

  • 不幸的是,这不起作用。在实际使用中,我将点击提供给数据库,该链接由 window.open 语句控制。另一个链接是指向新窗口中的客户站点。显示在顶部的客户网站。
  • (假设你让它工作)这不会惹恼用户,因为他们可能不会注意到新窗口的存在,直到他们关闭“主”窗口然后他们会想知道在哪里另一个来自。
  • 向数据库提供计数代码从未显示的窗口,他们看到的是原始页面重新加载,并且指向广告客户端的链接在新选项卡或窗口中打开
【解决方案2】:

弹出行为因浏览器/用户设置而异。我自己无法复制 open behind 行为,但我相信您正在寻找的是.focus()。

试试:

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

【讨论】:

    猜你喜欢
    • 2011-01-17
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多