您好我如何检测用户是否关闭了浏览器并从db中删除了什么? 我想用它来进行在线统计,因为当用户关闭浏览器时,他仍处于“在线”状态。
答案 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卸载。因此,当用户尝试关闭浏览器时,该功能将加载。