有没有一种方法可以在窗口关闭或地址转到一个完全不同的站点时调用JavaScript,而不仅仅是在页面更改时调用?我知道我可以使用onunload,但这似乎在页面更改时触发。我有一个内联网站点,我需要跟踪登录和注销。而不是用户总是点击“注销”,他们中的一些人只是关闭浏览器窗口。
onunload
eit6fx6z1#
我有个主意。每隔30秒左右对某个页面发出一个 AJAX 调用,使当前用户的会话“保持活动”。在一段时间不活动之后(也许40秒?确保它大于30),服务器知道客户端已经变成不活动的,可以注销你。这可能看起来有点过分,但这是唯一可靠地知道用户何时不再活跃的方法。在窗口关闭时发出呼叫似乎是件好事,但如果浏览器崩溃或电脑关机或其他情况,呼叫就永远不会发出。
b1payxdu2#
window.onbeforeunload = function(){ $.ajax({ url : logoutuser?id=xyz, async : false }); };
这将工作,如果当试图关闭窗口..另一种方法是通过您自己的自定义方法路由页面上的所有点击(链接)-
window.location.href = "someurl";
这样你就可以嗅出用户试图导航到的地方。
toe950273#
现在,除非有人能想出更好的主意,否则我会让站点在100%框架中运行,并将onunload脚本设置在具有框架布局的默认页面上。
3条答案
按热度按时间eit6fx6z1#
我有个主意。每隔30秒左右对某个页面发出一个 AJAX 调用,使当前用户的会话“保持活动”。在一段时间不活动之后(也许40秒?确保它大于30),服务器知道客户端已经变成不活动的,可以注销你。这可能看起来有点过分,但这是唯一可靠地知道用户何时不再活跃的方法。在窗口关闭时发出呼叫似乎是件好事,但如果浏览器崩溃或电脑关机或其他情况,呼叫就永远不会发出。
b1payxdu2#
这将工作,如果当试图关闭窗口..
另一种方法是通过您自己的自定义方法路由页面上的所有点击(链接)-
这样你就可以嗅出用户试图导航到的地方。
toe950273#
现在,除非有人能想出更好的主意,否则我会让站点在100%框架中运行,并将onunload脚本设置在具有框架布局的默认页面上。