13

我想在点击时打开一个窗口,但我想在当前窗口后面打开它,或者当新窗口打开时它应该最小化自己。我做了一个功能,但它实际上没有用。

<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>
4

7 回答 7

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(); 
于 2012-07-10T05:40:12.547 回答
13
popunder = window.open('http://www.google.com','newwindow','width=200, height=200', "_blank");
popunder.blur();
window.focus();
于 2012-07-12T11:50:57.217 回答
6

尝试这样的事情。

window.open(url); 
self.focus();
于 2012-07-13T02:22:30.767 回答
5

虽然它会导致安全问题,但我想这样做的方法之一是:

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

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

于 2012-07-17T09:52:20.850 回答
3
popunder = window.open('your_site_url','newwindow','width=500, height=500', "_blank");
popunder.blur();
window.focus();

或者干脆

window.open(url); self.focus();
于 2012-07-18T06:11:18.657 回答
2

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

它使用各种技术的组合在各种浏览器中完成它。并非所有浏览器都能以相同的方式处理它,但结果非常相似。

当前浏览器兼容性列为:(上次更新时间为 18 年 4 月)

  • 火狐浏览器 3-57
  • 谷歌浏览器 10-62
  • Microsoft Internet Explorer 6-11 -- MSIE 6-8 需要 jquery 1.x
  • 苹果Safari 5
于 2014-07-17T18:57:30.363 回答
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>

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

<body onLoad="setTimeout('window.blur()', 1000);" onFocus="setTimeout('window.blur()', 1000);"> 
于 2015-12-04T11:21:49.380 回答