如何使用Javascript检测移动浏览器(Android Chrome)的关闭?

pik*_*iko 5 javascript

我们正在尝试获取有关用户活动的全面数据,因此我们正在构建一个库,用于记录用户在给定页面上花费的时间.我们使用TimeMe库测量时间.当用户更改页面,退出选项卡,关闭浏览器等时,我们只尝试将测量值发送到我们的服务器一次.

目前我们正在听两个事件:

  1. page:before-unload on document(因为rails的turbolinks)
  2. 在窗口上的前载(其他情况)

它适用于桌面浏览器.然而,这些听众不会发现一些事件.例如,如果我们在移动浏览器(Android Chrome)上访问该网站然后关闭此浏览器,则这些侦听器将不会触发.

我的问题是,我们如何解决这个问题?移动浏览器在关闭时会创建什么事件?

感谢您的意见.

小智 1

JavaScript 永远无法检测到浏览器的关闭,JavaScript 是一种动态类型语言,它使用浏览器引擎来执行。但如果你要关闭浏览器,那么 JavaScript 代码将如何执行。所以,这是根本不可能的。但在处理google chrome的情况下,由于android是一个操作系统并且支持javascript编译,因为V8也是google为chrome提供的执行引擎。所以下面的脚本可能会引导你走向正确的轨道。

$(window).bind('beforeunload', function() {
if (iWantTo) {
return "别离开我!";
}
});

Blockquote
Run Code Online (Sandbox Code Playgroud)