如果用户关闭浏览器,则从数据库中删除

时间:2017-01-11 22:47:34

标签: javascript php sql

您好我如何检测用户是否关闭了浏览器并从db中删除了什么? 我想用它来进行在线统计,因为当用户关闭浏览器时,他仍处于“在线”状态。

3 个答案:

答案 0 :(得分:2)

有一个事件。如果用户关闭实际标签,则此功能将运行。

window.onbeforeunload = function () {
    //make an ajax call here and modify your db
}

答案 1 :(得分:1)

“onunload”vs“onbeforeunload”事件是正确的答案,但另外你必须向PHP文件发送一个AJAX调用。

window.onbeforeunload = function () {
    jQuery.ajax({url:"http://localhost:8888/do_somethink_in_db.php?", async:false});
}

OR

$( window ).unload(function() {
  jQuery.ajax({url:"http://localhost:8888/do_somethink_in_db.php?", async:false})
});

注意:但是当用户电脑关闭电源时,此事件无效。但是,如果您使用nodejs服务器,则可以检测用户是在线还是在线。因为使用socket.io(库nodejs)服务器检查心跳

答案 2 :(得分:-1)

$( window ).unload(function() {
  // call your ajax function for deleting database. 
});

您可以使用jquery卸载。因此,当用户尝试关闭浏览器时,该功能将加载。