2015-12-28 59 views
-1

我试图创建一个弹出窗口(新窗口),当用户单击页面上的任何位置时出现,但问题是我的脚本为每次点击创建一个新选项卡。我为测试创建了一个blogspot帐户:http://faqetest123.blogspot.al/ 我应该为此做些什么? (正在使用,即时通讯试图创建弹出一个网站的例子是:atdhe.so)Click Anywhere Pop Up

这里是我的代码:

<script type="text/javascript"> 
 
document.onclick=function() 
 
{ 
 
    window.open('http://www.facebook.com'); 
 
} 
 
</script>

感谢

回答

0

window.open()函数返回对该窗口的引用。所以你应该能够使用该参考以后导航到一个新的URL。例如:

var myPopup; 
document.onclick=function() 
{ 
    if (!myPopup) { 
     myPopup = window.open('http://www.facebook.com'); 
    } else if (myPopup.closed) { 
     myPopup = window.open('http://www.google.com'); 
    } else { 
     myPopup.location.href = 'http://www.stackoverflow.com'; 
    } 
} 

请注意,这也会尝试检查用户是否关闭了弹出窗口并重新打开它。


编辑:基于以下您的意见,它看起来像我误解。为了使弹出窗口执行一次然后不再一次,您可以在处理它之后简单地删除事件处理程序。事情是这样的:

document.onclick=function() 
{ 
    window.open('http://www.facebook.com'); 
    document.onclick = null; 
} 
+0

感谢大卫,但问题是,一个弹出窗口每次点击仍将创建,我想只是页面上的第一次点击。如:atdhe.so。对于单次访问,​​第一次点击会创建弹出窗口。无论如何感谢 –

+0

@IsiTaho:也许我不理解这个问题。你在寻找什么确切的行为?你只想弹出一次*打开*然后再也不会再打开? – David

+0

对同一个人是的。只有第一次点击该页面才会发生......该人可以在页面中停留数小时,并且弹出窗口不会出现。我不知道我是否清楚。 –