检测用户是否“离开”网页

时间:2015-09-19 08:41:18

标签: javascript jquery html

在将此问题标记为重复之前请阅读本问题

我正在寻找一种方式,当访客离开我的网页时,他被重定向到另一页。 (他不应该关闭页面)

一些例子:

  1. 我打开了页面并在浏览器中打开了另一个标签,然后该人应该被重定向到另一个页面,因为他离开了当前的“打开”标签。
  2. 当此人打开另一个程序时,该网站不再“活动”,它应该重定向到另一个页面。
  3. 当用户离开网页时,我不想要一个动作,如果他让它打开但是打开另一个程序,另一个标签等,我想要一个反应。

1 个答案:

答案 0 :(得分:1)

您甚至可以blur使用window。当窗口关闭时,它会触发unload事件。将代码附加到这两个事件将适合您:

$('body').on('mouseleave', function () {
   $(window).on('beforeunload blur', function(){
      // User has left!
      // Sign out the user?
      // I really hope alert should not work here! It prevents it from closing.
   });
});

根据您的评论,如果您想确保它们没有检查,您确实只需要使用blur事件,如果窗口移开则会触发该事件。您不应该使用在窗口关闭时执行的beforeunload

或者,如果用户按下 Ctrl Alt 键(用于导出窗口),也可以使用户无效。我在接受采访时看到过这种测试。但如果我要成为一名学生,我会讨厌这样的考试! :P

我仍然可以通过使用其他设备来欺骗它:

  • 手机
  • 智能手机
  • 另一台笔记本电脑/台式机