使用Javascript / jQuery在当前窗口后面打开一个窗口

时间:2012-07-10 05:33:09

标签: javascript jquery

我想在点击时打开一个窗口,但我想在当前窗口后打开它,或者当新窗口打开时它应该最小化。我已经创建了一个函数,但实际上它没有用。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function wn(){
  var mm=window.open('http://www.google.com','newwindow','width=200, height=200', "_blank");
}
</script>
</head>
<body>
<a href="#" onclick="wn()">click</a>
</body>

7 个答案:

答案 0 :(得分:20)

修改

父窗口HTML

<script language="JavaScript" type="text/javascript">
function openPopUP() {
  window.open('mywindow.html','NewWin',
            'toolbar=no,status=no,width=350,height=135')
}
</script>

<body onLoad="openPopUP();">
or
<a href="javascript:openPopUP();">Click to open popup</a>

子窗口,即弹出窗口文件

以下脚本应位于子窗口中。子窗口将打开,并在1秒后自动隐藏。 1000方法中指定的值setTimeout是子窗口打开的持续时间(以毫秒为单位)。如果希望子窗口打开更长时间,可以增加此超时持续时间。

<body onLoad="setTimeout('window.blur()', 1000);" 
          onFocus="setTimeout('window.blur()', 1000);">

这可能适合您:在您的子窗口的onload事件中添加以下代码行...

window.parent.opener.focus(); 

答案 1 :(得分:13)

popunder = window.open('http://www.google.com','newwindow','width=200, height=200', "_blank");
popunder.blur();
window.focus();

答案 2 :(得分:6)

尝试这样的事情。

window.open(url); 
self.focus();

答案 3 :(得分:5)

虽然它会导致安全问题,但我想其中一种方法是:

popup = window.open('http://www.google.com', 'newwindow',  "_blank");
popup.blur();

这仅适用于IE。对于其他浏览器,您需要将安全级别设置为最小值。

答案 4 :(得分:3)

popunder = window.open('your_site_url','newwindow','width=500, height=500', "_blank");
popunder.blur();
window.focus();

或只是

window.open(url); self.focus();

答案 5 :(得分:2)

如果你想要真正的popunder功能,有一个很棒的jQuery插件可以在https://github.com/hpbuniat/jquery-popunder

处理它

它使用各种技术的组合在各种浏览器中实现它。并非所有浏览器都可以处理它,但结果非常相似。

当前的浏览器兼容性列为:(最后更新的4月和18日)

  • Mozilla Firefox 3-57
  • Google Chrome 10-62
  • Microsoft Internet Explorer 6-11 - MSIE 6-8需要jquery 1.x
  • Apple Safari 5

答案 6 :(得分:1)

最后,它只适用于Chrome浏览器。在父窗口中添加此代码:

<script type="text/javascript" language="javascript"> 
    function popWindow() 
    { 
    var popupo = window.open("popup.html", 'newwindow','toolbar=no,status=no,width=650,height=450', "_blank");
    popupo.moveTo(0, 0);
    popunder.blur();
    window.focus();
    } 
</script>

在子窗口body onload事件中添加此代码为

<body onLoad="setTimeout('window.blur()', 1000);" onFocus="setTimeout('window.blur()', 1000);">