netflix用什么来检测用户是否是AFK?

时间:2014-10-26 03:25:54

标签: javascript web netflix

虽然标题很明确,但我很好奇netflix如何检测用户的身份。我通过chrome的inspect元素查看了代码,发现可以通过javascript / jquery来完成,具体取决于鼠标的位置。有没有人可以验证这个或如果不正确,发现它确定的方法?我正在寻找一个插件来防止它暂停。

1 个答案:

答案 0 :(得分:2)

很难确定Netflix究竟用什么来确定用户是否已离开Netflix,因为Netflix可能会混淆他们的JavaScript代码并且对其进行逆向工程是非法的。但有一些可能性:

  1. 一个不断调用document.hasFocus()以查看其是否已更改的计时器。
  2. 大多数网络浏览器(Firefox v10 +,Chrome v13 +,Internet Explorer v10 +,Opera v12.10 +和Safari v7 +)都有内置事件来检查窗口/标签是否处于活动状态。 Mozilla有documentation on using the visibilitychange event,其中包含一个视频示例,该视频会在可见性发生变化时暂停或播放。
  3. 每当调用javascript事件onmousemoveonkeydown并首次加载页面时,变量将设置为当前的unix时间。计时器检查此变量以查看自调用事件以来是否已经过了这么多时间以查看用户是否已离开窗口。这种情况极不可能,因为人们可以在不触摸鼠标或键盘的情况下观看2小时的电影。
  4. 还有this previous question on StackOverflow,其中包含对您提出的同一问题的许多不同答案。