如何检测用户何时使用javascript查看网页
How to detect when a user is viewing a webpage using javascript
我有一个网页,我想显示打开该网页的用户。(我使用node.js作为服务器端)
我当前的尝试:
在服务器端,有一个计数器计算他向该网页提交GET请求的时间。因此,如果他多次打开该页面,counter++
每次用户离开网页时,都会使用socket.io.向服务器发送一个websocket
window.onbeforeunload = function() {
socket.emit('ClosePage');
}
然后在服务器端,当它接收到这个套接字时,它将计数器减少1,也称为counter--
因此,使用这种逻辑,可以检测用户何时打开网页,以及何时真正关闭网页。
但是,当用户疯狂地刷新页面时,问题就会出现,服务器会不断地增加计数器,而之后不会减少,因为窗口还没有卸载(我猜)。
有人知道怎么修理这样的东西吗?或者有人知道大多数论坛在显示正在阅读帖子的用户或陌生人时使用什么算法吗?
非常感谢!
如果存在cookie,则可以删除cookie而不增加计数。或者你可以屏蔽IP,但这可能会破坏一些真实的观点。
关于延迟值递减之前的延迟,您是对的。这将与socket.io中的连接超时值相关联。你不能保证每个用户都会使用websocket。如果他们使用XHR轮询或其他类型的传输层,则在递减之前必须超时。Websocket用户将立即引起更改。
谷歌分析会实时显示谁在你的网站上以及他们正在查看什么内容。
相关文章:
- 打开网页后立即获取网页的活动javascript函数
- Android键盘不适用于包含Javascript的网页
- 网页上失败的javascript会导致所有其他脚本失败
- 使用PowerShell在JavaScript网页上搜索文本字符串
- 等待Javascript网页抓取功能完成,然后再运行下一页
- 如何在Javascript网页中实现孤岛危机纳米服风格的菜单
- SeleniumjSoup从Javascript网页获取数据
- 从R中的javascript(网页)中删除xls文件
- 来自HTML/Javascript网页的Modbus TCP通信
- Javascript网页期望至少加载一个地图,但实际上可以'不要装任何东西
- 使用谷歌地图的javascript网页不能在Android上工作
- 如何使用Python与javascript网页交互
- 如何仅使用python标准库抓取javascript网页
- 在断开连接后检索html/javascript网页
- Javascript -网页内容字符串
- Javascript网页搜索定时器
- Javascript网页,下一张图片
- 用phantomjs渲染一个javascript网页页面
- Python - JavaScript 网页抓取与硒不能正常工作
- 从javascript网页中提取数据