我正试图找出一种方法可以确定用户在页面上的时长。我对定期调用某些服务器脚本的javascript解决方案持开放态度,但我想知道是否有更好的解决方案呢?
我已阅读Can you fire an event in JavaScript before the user closes the window?并且它似乎很有用,但我需要确定页面何时关闭。
有什么方法可以确定页面是否“有效”? (意思是在其他标签/窗口之上,用户正在关注它?这是用于教育网络应用程序)
答案 0 :(得分:0)
我不知道这会有多大帮助。
然而,您的问题似乎更像浏览器任务,然后是页面任务。 如果你想实现一般的客户端解决方案,你可以写一个例如chrome-extension。
在chrome.tabs.*
api中,有一个功能可以检测页面何时加载,激活,选择或关闭。
<强> onCreated 强>
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) {...}));
当窗口中选定的标签发生变化时触发。
答案 1 :(得分:0)
结束创建一个javascript函数,定期在服务器上调用php脚本。保存数据库中的“最后更新”字段并设置可以更新的最短时间,以确保用户不会恶意调用轮询功能。