我试图创建一个弹出窗口(新窗口),当用户点击页面上的任何位置时会出现该弹出窗口,但问题是我的脚本会为每次点击创建一个新标签。我创建了一个仅用于测试的blogspot帐户:http://faqetest123.blogspot.al/ 我该怎么做? (使用我试图创建的弹出窗口的网站示例是:atdhe.so)
这是我的代码:
<script type="text/javascript">
document.onclick=function()
{
window.open('http://www.facebook.com');
}
</script>
&#13;
由于
答案 0 :(得分: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;
}