Javascript 如何发现用户不再与页面交互(不重新加载或退出)

Javascript 如何发现用户不再与页面交互(不重新加载或退出),javascript,browser,Javascript,Browser,我想跟踪用户与页面交互的时间。据我所知,用户基本上可以通过 导航离开(向后/向前) 关闭窗口 打开新标签页,将旧标签页保留在后台 切换选项卡/窗口 虽然我知道我可以对1和2使用“onbeforeunload”,但对于3和4我能做些什么?根据我的经验,在Chrome/Edge中,经常会看到有很多选项卡一直打开,但只与一个选项卡交互。 有什么好办法可以找到用户“停用”的选项卡/窗口吗?您可以检查模糊事件 window.addEventListener("blur", function( even

我想跟踪用户与页面交互的时间。据我所知,用户基本上可以通过

  • 导航离开(向后/向前)
  • 关闭窗口
  • 打开新标签页,将旧标签页保留在后台
  • 切换选项卡/窗口
  • 虽然我知道我可以对1和2使用“onbeforeunload”,但对于3和4我能做些什么?根据我的经验,在Chrome/Edge中,经常会看到有很多选项卡一直打开,但只与一个选项卡交互。
    有什么好办法可以找到用户“停用”的选项卡/窗口吗?

    您可以检查
    模糊事件

      window.addEventListener("blur", function( event ) {
        //DO something   
      }, true);
    

    您可以设置一个
    setInterval
    ,检查窗口是否有焦点。对于第3个问题,这个问题可能很有用,谢谢@user3299379,当用户通过单击链接导航离开时肯定很有用,但当用户刚打开一个新选项卡时就没有帮助了。谢谢!就像一个符咒,但与window.addEventListener(…)一起使用。但它不适用于document.addEventListener。在Chrome 56和Edge上测试。你能更新答案吗?我会接受的。你明白了!更新答案:D