如何确定用户在某个页面上停留了多长时间

How to determine how long a user has been on a certain page?

本文关键字:停留 长时间 用户 何确定      更新时间:2023-09-26

我想找出一种方法来确定用户在页面上停留了多长时间。我对定期调用一些服务器脚本的javascript解决方案持开放态度,但我想知道是否有比这更好的解决方案?

我读过你能在用户关闭窗口之前用JavaScript触发一个事件吗?它似乎很有用,但我需要确切地知道页面何时关闭。

是否有任何方法可以确定页面是否"活动"?(意思是在其他选项卡/Windows的顶部,用户是否注意到它?)这是一个教育web应用程序)

我不知道这有多大帮助。

然而,你的问题似乎更多的是一个浏览器任务,而不是一个页面任务。如果你想实现一个通用的客户端解决方案,你可以写一个chrome扩展。

chrome.tabs.* api中,有检测页面何时加载,活动,选择或关闭所需的所有功能。

oncreate

chrome.tabs.onCreated.addListener(function(Tab tab) {...}));

在创建选项卡时触发。

onRemoved

chrome.tabs.onRemoved.addListener(function(integer tabId, object removeInfo) {...}));

在选项卡关闭时触发。

onSelectionChanged

chrome.tabs.onSelectionChanged.addListener(function(integer tabId, object selectInfo) {...}));

当窗口中所选选项卡发生变化时触发。

最终创建了一个javascript函数,该函数定期调用服务器上的php脚本。将'last-updated'字段保存在数据库中,并设置可以更新的最小时间,以确保轮询函数不会被用户恶意调用。