2012-07-10 111 views
12

我想在点击时打开一个窗口,但是我想在当前窗口后面打开它,或者当新窗口打开时它应该最小化本身。我做了一个功能,但它实际上没有工作。使用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> 
+3

听起来像危险的那些点击,烦人,弹出式广告... – dda 2012-07-10 05:36:39

+2

谷歌“背后弹出式窗口。 “基本上你是window.open,接着是window.focus。 – 2012-07-10 05:47:08

+0

GGG:它不工作 – Carlos 2012-07-10 09:26:14

回答

18

编辑

父窗口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秒后自动隐藏。 setTimeout方法中指定的值1000是子窗口打开的持续时间(以毫秒为单位)。如果您希望子窗口打开时间更长,则可以增加此超时持续时间。

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

这可能会为你工作:加入这行代码在onload事件的子窗口...

window.parent.opener.focus(); 
+0

@amit工作 - 检查我的编辑回答这个migh thwlp你实现你想要.. – 2012-07-16 09:20:46

+1

不,它不工作。弹出开放,它仍然盈父窗口 – Carlos 2012-07-17 04:27:55

+0

@amit的 - 它的弹出窗口,在1秒隐藏正常的自然那它是如何工作?可能没有其他办法可以做到这一点.. – 2012-07-17 05:38:19

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

我已经尝试这一点,但它不工作 – Carlos 2012-07-14 13:00:22

+0

不知道浏览器已经识破了这种技术,但是这并不在任何FF或Chrome,这些天的工作。 Popup停留在前面。 – Brade 2014-03-25 23:00:56

6

尝试这样的事情。

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

不工作:(。 – poitroae 2017-11-04 20:18:44

5

虽然它会导致安全问题,但我想的做的事情是这样的一个:

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

这将在IE才能正常工作。对于其他浏览器,您需要将安全级别设置为最低。

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

或者干脆

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

如果你想真正的隐藏弹出式的能力有很大的jQuery插件在https://github.com/hpbuniat/jquery-popunder

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

当前浏览器的兼容性被列为

  • Mozilla Firefox浏览器3-30
  • 谷歌浏览器10-35
  • 的Microsoft Internet Explorer 6-11 - MSIE 6-8需要的jQuery 1.x的
  • Apple Safari 5
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);"> 
相关问题