如何在退出浏览器会话时触发beforeunload事件

时间:2013-05-14 18:16:06

标签: c# javascript asp.net internet-explorer

免责声明 - 我应该注意到我的JavaScript非常弱。

我正在将代码插入我的网站,因此它可以涵盖用户退出浏览器时的情况,他会收到一句谚语“你确定要退出吗?”一种确认消息。

我正在尝试在我的网站上实现这条JavaScript:

   <script language="JavaScript" type0"text/javascript">

var foo = true;

window.onbeforeunload = askBeforeExiting;

function askBeforeExiting() {
  if (foo)
    return "Are you sure you want to leave this page?";
}
</script>

代码不仅在尝试退出浏览器时抛出确认消息。但是,如果点击了指向该网站其他部分的链接以及其他相关事件,它也会抛出确认信息。

有没有办法修改此代码只是捕获浏览器关闭方案?我得到的方案就像从任务管理器中删除浏览器或者无法捕获powershell命令。我只想在当前用户会话中可以退出浏览器的场景。

我一直在网上查看各种样本并通过代码参考,似乎无法准确追踪我想要做的事情。这甚至可能吗?

1 个答案:

答案 0 :(得分:2)

我已经在页面有表单之前完成了这个,我只想在对表单进行更改时要求用户确认。您可以执行类似的操作,例如,将click事件附加到所有链接,将foo设置为false。类似的东西:

var links = document.getElementsByTagName('a');
for(var i = 0, l = links.length; i < l; i++) {
    links[i].onclick = function () {
        foo = false;
    }
}

编辑:您可能需要考虑许多其他操作,具体取决于您的网站,但是根据所提供的信息,这应该是一个良好的开端,因为没有直接的方法来完成您的目标。< / p>