如果用户关闭浏览器,则从数据库中删除数据[重复]
Posted
技术标签:
【中文标题】如果用户关闭浏览器,则从数据库中删除数据[重复]【英文标题】:Delete data from database if user closed browser [duplicate] 【发布时间】:2017-05-26 21:48:01 【问题描述】:您好,我如何检测用户是否关闭了浏览器并从数据库中删除某些内容? 我想将它用于在线计数,因为当用户关闭浏览器时,他仍然“在线”。
【问题讨论】:
您应该使用Jquery
库查看.unload()
。然后,当页面卸载时,您发送Ajax
请求。 注意:SO 不是免费编码服务!
this 可能有帮助吗?
【参考方案1】:
有一个事件。如果用户关闭实际的选项卡,此函数将运行。
window.onbeforeunload = function ()
//make an ajax call here and modify your db
【讨论】:
这就是我要找的东西!谢谢! 但是如果假设用户系统自动关闭,那么这个脚本将如何工作。这不是我认为的解决方案。【参考方案2】:$( window ).unload(function()
// call your ajax function for deleting database.
);
您可以使用 jquery 卸载。因此,当用户尝试关闭浏览器时,该功能将加载。
【讨论】:
【参考方案3】:“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)服务器检查心跳
【讨论】:
以上是关于如果用户关闭浏览器,则从数据库中删除数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章
Scala - 如果 DF1 中的数据与 DF2 中的列匹配,则从 DF1 中删除记录 [重复]
如果重复 x 次,则从数组中删除值 | JavaScript