窗口关闭时的JavaScript?

时间:2011-07-27 22:41:19

标签: javascript javascript-events

当窗口关闭或地址转到完全不同的网站时,有没有办法调用javascript,而不仅仅是在页面更改时?我知道我可以使用onunload,但这似乎会在页面更改时触发。

我有一个内部网站点,我需要跟踪登录和注销。而不是用户总是点击“退出”,其中一些只是关闭浏览器窗口。

4 个答案:

答案 0 :(得分:1)

我有个主意。将AJAX调用发送到某个页面,该页面每隔30秒左右“保持活动”当前用户的会话。经过一段时间不活动(可能是40秒?确保它大于30),服务器知道客户端已变为非活动状态并可以将您注销。这似乎有些过分,但这是可靠地知道用户何时不再活动的唯一方法。在关闭窗口时关闭呼叫可能看起来很好,但如果浏览器崩溃或计算机关闭或其他什么东西,呼叫永远不会被发送。

答案 1 :(得分:0)

onunload 事件。

答案 2 :(得分:0)

现在,除非有人能提出更好的想法,否则我会在100%框架中运行网站,并在默认页面上使用框架布局设置onunload脚本。

答案 3 :(得分:0)

window.onbeforeunload = function(){
  $.ajax({ url : logoutuser?id=xyz, 
           async : false
  });
};

如果试图关闭窗口,这将有效..

另一种方法是通过您自己的自定义方法路由您网页上的所有点击(针对链接) -

window.location.href = "someurl";

这样你就可以嗅到用户试图导航到的地方..