通过onbeforeunload检测访问者是否离开网站或访问网站上的不同页面

时间:2014-06-21 21:47:14

标签: javascript

我试图区分用户何时离开我的网站上的页面以获取不同的网站(或关闭浏览器),或者我的网站上的其他页面。 onbeforeload()没有做出这种区分。有没有其他方法可以使用javascript实现这一点?我有一个脚本,我只想在用户永久离开时触发,而不是简单地从我的网站上的页面A转到页面B.

1 个答案:

答案 0 :(得分:0)

执行此操作的常见模型(或者至少我认为这是常见的)是为用户提供一个唯一的ID,您可以将其保存在会话变量或cookie中,并进入与此对应的数据库表中ID。每当用户访问另一个站点时,该ID就会被发送到服务器(通过使用AJAX的脚本或者如果您将ID保存到会话变量中,您可以只在服务器上检查)并将当前时间保存到数据库中。 / p>

然后你需要运行一个后台程序,然后,例如每分钟检查用户是否处于非活动状态超过,让我们说7分钟。如果他是,你可以相对确定他已离开。

如果确实需要更新,您可以将其缩短至例如1分钟并每30秒发送一次ajax调用以更新数据库时间戳。