我正在构建一个交互式页面,其中显示了聊天框和项目列表。
我打算使用JQUERY的.post()函数每30秒更新一次,但我发现很多用户每天24小时都会在标签页中打开网页,这会给服务器带来沉重负担。
为了防止这种情况并优化我的资源,我希望只有用户在页面上处于活动状态时才会每30秒执行一次数据库轮询;在被动案件中,我想进行5分钟的民意调查。
我怎样才能做到这一点? (我正在使用PHP和MYSQL)
答案 0 :(得分:0)
也许你可以创建一个基于onScroll事件的函数?但我认为这取决于你对“主动”的定义。
答案 1 :(得分:0)
也许尝试检测光标位置的变化。
如果用户转到其他标签,我不确定如何处理光标位置检查方法。我会为你准备考试(只有js)
W3C实际上开始使用page visibility
作为文档属性:http://www.w3.org/TR/page-visibility/
但是现在是更好的解决方案。看看这个答案:https://stackoverflow.com/a/1060034/390747