检测用户退出站点

2024-03-13

我迫切希望检测用户何时离开我的网站,以便准确记录相关用户的会话长度。我想到了几个可能的解决方案:

我首先想到我可以使用 onbeforeunload 并发送一个简单的 ajax 来记录最后一个活动,但实践告诉我,onbeforeunload 目前不可靠,使用它不是一个好主意,因为它不是跨浏览器的。

然后我想我可以使用cookie来记录用户的会话长度,并在每次用户显示活动时分别增加cookie值。这里的问题是我无法检测哪一个是用户的最后一个活动,并且我可以安全地插入会话长度并知道它是准确的唯一可能的方法是当用户相当长一段时间没有登录并且 cookie 的值是最后一次会话时长。这不适合我,因为许多用户可能只打开该网站一次,再也不会访问它(例如),那么这些用户都不会被记录。

有人有解决这个问题的方法吗?我似乎已经搜索过,但找到的答案都不令人满意。

先感谢您!


你无法判断用户何时离开你的网站,这从根本上不受互联网底层技术的支持。您所能做的就是告诉会话过期之前最后一次请求的时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测用户退出站点 的相关文章

  • 处理 Javascript 中的浮点精度[重复]

    这个问题在这里已经有答案了 我有大量数值y在 JavaScript 中 我想通过将它们四舍五入到最接近的倍数来对它们进行分组x并将结果转换为字符串 如何解决烦人的浮点精度 例如 0 2 0 4 0 6000000000000001 我尝试过
  • 检查一个元素是否包含特定的子元素

    我有很多div有时包含链接 我想检查他们是否有链接 这是我的尝试 var container this closest content find text Check if text contains a tags if container
  • 设置快捷方式以替换 VIM 中轻松选择的字符串

    我有很多 php html 文件 其中包含许多应该使用 gettext 国际化的字符串 因此 我必须遍历每个文件 找到 消息 字符串并将每个字符串替换为 I use vim and would like to setup a shortcu
  • 删除 PHP 中的标头

    为了允许缓存 PHP 生成的文件 我想确保 Pragma no cache 标头是not放 但是 如何删除可能已经设置的标头 这就对了could有可能 有人在代码中的某个地方写了header Pragma no cache 现在我想确保标头
  • Javascript 递增运算求值顺序

    我知道后缀 前缀递增 递减运算符的作用 而在 javascript 中 这似乎没有什么不同 虽然我可以很容易地猜出这一行的结果 var foo 10 console log foo foo foo foo foo output 10 11
  • 比较两个值顺序不同的数组

    有没有一种快速的方法来做这样的事情比较具有相同值但顺序不同的两个数组 https stackoverflow com questions 15709494 compare two arrays with the same value but
  • jQuery,将分隔符更改为点并除以两个选定的数字

    var result parseFloat lot2 text parseFloat span Price text result text result 如何将选定值从逗号分隔值转换为点分隔值 有这个函数str replace 但我不知道
  • 删除 highcharts.com 积分链接

    我刚刚购买高图表 http www highcharts com 但制作人员链接仍然出现在我的图表上 这些图表在我的网站上非常突出 并且扭曲了图表视图 我以为我会有一个选项 那么如何删除它呢 您可以自定义制作人员名单 更改 URL 文本 位
  • 跨源资源共享中 this.withCredentials 属性的问题

    我们正在实现一个基于 AngularJS 的应用程序 该应用程序使用托管在不同域中的 REST Web 服务 以下脚本用于 CORS 它在 Chrome 和 FireFox 上完美运行 在 IE9 和 Safari 中进行身份验证时存在问题
  • 根据当前配置,没有映射 Doctrine ORM 实体

    我有一个可疑的问题 我有一组现有的带注释的 Doctrine 实体 它们已在 Symfony2 Doctrine2 项目中成功使用 然而 我目前正在将该项目的一些核心功能隔离到它自己的 Web 框架独立库中 但我似乎无法让这些实体正常运行
  • screen.availHeight 和 window.height() 之间的区别

    我正在我的浏览器 Firefox 上执行以下 Javascript console debug 屏幕高度 屏幕可用高度 输出770 console debug 窗口高度 窗口 height 输出210 我也在使用 jQuery 两者有什么区
  • 现在的浏览器真的不隐藏javascript吗?

    这不是重复的这个问题 https stackoverflow com questions 822872 do web sites really need to cater for browsers that dont have javasc
  • 从PHP7.4升级到PHP8,是否可以忽略某些错误

    我们有一个巨大的代码库 在访问未定义的变量或数组键时 我们忽略了 php7 的通知 例如 somethingThatMayNotExist REQUEST somethingThatMayNotExist PHP8 现在会抛出错误 我知道我
  • 在进程注册后显示 div,woocommerce

    在网站注册过程后 我想显示一个隐藏的div div 位于同一页面中 但注册后 页面将加载并显示相同的页面 这是表单处理程序 php public static function process registration nonce valu
  • NodeJS 快速会话 req.session 未定义

    我正在开发一个简单的登录系统 但会话似乎没有保存 我编写了一个简单的代码进行测试 谁能告诉我它有什么问题吗 我正在运行登录 之后我正在运行 is logged 但我从未登录并且两个会话都未定义 var port process env PO
  • 将图像上传到服务器 PHP Android

    我现在迷失了尝试将图像上传到我的服务器 我可以在 Android 设备上拍照并获取我的位置 我有以下代码将文件上传到服务器 public Boolean postFunction File image String tag postFunc
  • Javascript/jQuery/等中测量经过时间/一段时间后触发事件的方法

    我正在尝试使用 HTML5 Javascript 制作一个简单的游戏 我想对活动施加时间限制 例如 当玩家进入一个屋顶正在向他们逼近的房间时 我想给他们一些时间来做出决定 然后自动发生其他事件 但是 如果他们做出决定 我根本不希望触发定时功
  • 使用 mysql_real_escape_string() 时出现访问被拒绝错误

    我试图在数据进入我的数据库之前转义一些数据 但我不断收到此错误 Warning mysql real escape string Access denied for user 现在 这通常表明我尚未连接到数据库 它还声明 使用密码 NO 我
  • 无法使用“in”运算符在中搜索“_id”

    我正在尝试使用 mongoose 和express 来获取现有的用户文档 但我只得到这个 webroot api domain com production node modules mongoose lib document js 162
  • 删除 JavaScript 中的不间断空格

    我无法从字符串中删除空格 首先我要转换div to text 删除标签 有效 然后我尝试删除 nbsp 字符串的一部分 但它不起作用 知道我做错了什么 newStr myDiv text newStr newStr replace nbsp

随机推荐