我能否可靠地检测用户是否可以看到网页?

时间:2015-01-08 22:41:52

标签: javascript ajax html5 ajax-polling

我正在尝试决定是否要进行一些有点昂贵的javascript-ajaxing-to-the-server操作,但如果用户可以看到该网页,那么它是值得做的,所以我试图检测到

我最初很高兴能找到" visibilitychange" API,但看起来只检测网页是否在隐藏选项卡中。如果用户打开新的浏览器窗口而不是新选项卡,则不会调用该事件。当用户更改为其他应用时,也不会调用它。

我还认为如果浏览器不在前台,我想放慢操作速度,所以实际上有三种状态:

  • "请求 - 每-5-秒"浏览器是否具有输入焦点?
  • "请求 - 每分钟"页面的任何部分是否实际显示在用户的显示屏上?
  • "不要'叔请求"浏览器被埋在另一个窗口下。

这样,访问我的网页并打开浏览器的用户就不会在服务器或他们的计算机上使用资源。

首次进行状态监测" onfocus"主要是工作,但焦点可能会失去开发人员工具。这有点烦人,但它不是典型的客户,所以我可以忍受。

对于第二个州,我不知道从哪里开始。我的一个想法是检测浏览器是否真的"绘画",但我还没有找到任何方法来检测它。

您如何决定是否值得检查更新?

[注意:我已经使用了jQuery,所以基于jQuery的答案很好。]

感谢。

0 个答案:

没有答案