Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何确定用户在某个页面上停留的时间?_Javascript_Time_Duration - Fatal编程技术网

Javascript 如何确定用户在某个页面上停留的时间?

Javascript 如何确定用户在某个页面上停留的时间?,javascript,time,duration,Javascript,Time,Duration,我正试图找出一种方法来确定一个用户在一个页面上呆了多长时间。我对定期调用服务器脚本的javascript解决方案持开放态度,但我想知道是否有比这更好的解决方案 我读过,它似乎很有用,但我需要确定页面何时关闭 有没有办法确定页面是否处于“活动”状态?(意思是在其他选项卡/窗口的顶部,用户正在关注它?这是用于教育性web应用程序)我不知道这会有多大帮助 然而,您的问题看起来更像是浏览器任务,而不是页面任务。 如果您想实现一个通用的客户端解决方案,您可以编写一个chrome扩展 在chrome.tab

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

我读过,它似乎很有用,但我需要确定页面何时关闭


有没有办法确定页面是否处于“活动”状态?(意思是在其他选项卡/窗口的顶部,用户正在关注它?这是用于教育性web应用程序)

我不知道这会有多大帮助

然而,您的问题看起来更像是浏览器任务,而不是页面任务。 如果您想实现一个通用的客户端解决方案,您可以编写一个chrome扩展

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

一旦创建

chrome.tabs.onCreated.addListener(function(Tab tab) {...}));
chrome.tabs.onRemoved.addListener(function(integer tabId, object removeInfo) {...}));
chrome.tabs.onSelectionChanged.addListener(function(integer tabId, object selectInfo) {...}));
创建选项卡时激发

onRemoved

chrome.tabs.onCreated.addListener(function(Tab tab) {...}));
chrome.tabs.onRemoved.addListener(function(integer tabId, object removeInfo) {...}));
chrome.tabs.onSelectionChanged.addListener(function(integer tabId, object selectInfo) {...}));
关闭选项卡时激发

on选择更改

chrome.tabs.onCreated.addListener(function(Tab tab) {...}));
chrome.tabs.onRemoved.addListener(function(integer tabId, object removeInfo) {...}));
chrome.tabs.onSelectionChanged.addListener(function(integer tabId, object selectInfo) {...}));

当窗口中选定的选项卡更改时激发。

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

非常有用-我不知道!但我想我需要一种不同的方法来处理所有浏览器的问题。。。