【发布时间】:2017-05-26 21:48:01
【问题描述】:
您好,我如何检测用户是否关闭了浏览器并从数据库中删除某些内容? 我想将它用于在线计数,因为当用户关闭浏览器时,他仍然“在线”。
【问题讨论】:
标签: javascript php sql
您好,我如何检测用户是否关闭了浏览器并从数据库中删除某些内容? 我想将它用于在线计数,因为当用户关闭浏览器时,他仍然“在线”。
【问题讨论】:
标签: javascript php sql
有一个事件。如果用户关闭实际的选项卡,此函数将运行。
window.onbeforeunload = function () {
//make an ajax call here and modify your db
}
【讨论】:
$( window ).unload(function() {
// call your ajax function for deleting database.
});
您可以使用 jquery 卸载。因此,当用户尝试关闭浏览器时,该功能将加载。
【讨论】:
“onunload”与“onbeforeunload”事件是正确的答案,但另外您必须向 PHP 文件发送 AJAX 调用。
window.onbeforeunload = function () {
jQuery.ajax({url:"http://localhost:8888/do_somethink_in_db.php?", async:false});
}
或
$( window ).unload(function() {
jQuery.ajax({url:"http://localhost:8888/do_somethink_in_db.php?", async:false})
});
注意:但当用户电脑断电时,此事件无法进行。但是如果你使用 nodejs 服务器,你可以检测到用户是离线还是在线。因为用socket.io(库nodejs)服务器检查心跳
【讨论】: