您可以使用JavaScript来检测用户是否已关闭浏览器选项卡吗? 关闭浏览器? 或者已经离开了浏览器?

让你进入图片:

  • 用户在移动设备上正在查看浏览器(即iPhone上的Safari)
  • 他们可以在模式框中看到密码字段以创建密码
  • 如果用户要关闭模式框并退出浏览器,我想向他们发送一封电子邮件,提示他们创建密码。

我最初的想法是必须有某种java脚本事件才能做到这一点?

因此,您可以使用JavaScript检测以下用户操作,其中用户具有: – 关闭选项卡 – 关闭其浏览器 – 离开浏览器

也在寻找问题,但你不会满足需求。

我刚刚找到了解决这个问题的方法:“你能用JavaScript来检测用户是否关闭了浏览器标签?关闭了浏览器?还是已经离开了浏览器?”

  Detecting browser close     

Check which action detects browser window close:

  1. Click this Refresh link or the browser's Refresh button
  2. Navigate away from this page through a link
  3. Type another URL in the address bar
  4. Click Back or Forward button
  5. Click the Close (X) button in the top-rightmost corner of the browser
  6. Click the IE icon in the top-leftmost corner and choose Close. Or simply double-click the icon
  7. Press Alt+F4 key

In IE, the last 3 actions are correctly detected by the javascript code inside this page as browser close.

如果您的用户关闭了一个标签,您可以使用onunload事件检测它,但是当她关闭浏览器时,您的javascript引擎也会中止,因此您无法再在客户端运行任何类型的程序。

但是,您可以在服务器上检测到它。 例如,如果准备websocket连接,您可以检测客户端何时退出然后执行所需操作。

该过程将是这样的:在进入页面时,设置与服务器的自动websocket连接。 输入后,如果需要,请阅读电子邮件(您也可以通过websocket事件将其发送到服务器),最后,当“disconnect”事件触发时,将电子邮件发送到该地址。

如果您想以这种方式继续,您可能需要查看Socket.IO网页 ,这对我来说是实现此过程的最简单方法之一。

简短的回答不是真的,不是。 很长的答案是有一个onunload事件,但你可以用它做的就是问用户他们是否确定要离开(参见@ EvanKnowles的评论),但你不能附加任何复杂的逻辑。

最好的方法是使用某种会话计时器,在上次在您的网站上看到它们后的N分钟发送电子邮件。

文件给你: http : //www.openjs.com/scripts/events/keyboard_shortcuts/ shortcut.add("Ctrl+Shift+X",function() { alert("Hi there!"); });

下载: http : //www.openjs.com/scripts/events/keyboard_shortcuts/shortcut.js