用户关闭页面时打开弹出窗口

时间:2014-05-07 18:51:28

标签: javascript popup onunload

我需要一个javascript函数,每当用户关闭窗口时它会打开一个弹出窗口,然后在实际窗口中,我需要能够关闭用户试图关闭的原始页面(如果用户点击"我确定我要关闭"或其他东西)

function openWin()
{
function linkClick(e) {
  alert = false;
}
links = document.getElementsByTagName('a');
for (i = 0; i < links.length; i++)
  links[i].addEventListener('click', linkClick, false);
  if(alert != false){
myWindow=window.open("","","width=200,height=100");
myWindow.document.write("<p>This is 'myWindow'</p>");
}
}

然后在身体我有一个卸载功能

<body onUnload="openWin()" >

弹出窗口有效,但是当你点击链接时它也会出现 任何想法?

1 个答案:

答案 0 :(得分:0)

这是未经测试的代码,但它应该有效:

<!-- end of site or in onReady -->
<script>
var lnk = false;

links = document.getElementsByTagName('a');
for (i = 0; i < links.length; i++)
  links[i].addEventListener('click', linkClick, false);
}

function linkClick() { lnk = true; }
function openWin()
{
  if(!lnk){
    myWindow=window.open("","","width=200,height=100");
    myWindow.document.write("<p>This is 'myWindow'</p>");
  }
}
</script>

差异在于变量lnk和函数linkClick现在位于全局范围内。 onclick应在onunload之前触发,因为onclick - 事件通常是要取消的事件。