关闭iOS网页APP时会触发吗?

时间:2016-10-21 14:36:44

标签: php ios

因此,当我厌倦了,继续我的PHP项目FastTalk时,我陷入了离线和在线功能。基本上我到目前为止所做的是,每当客户端使用Web应用程序(保存到桌面)时,它将更新MySQL数据库中的在线行。但问题是,当客户端使用主屏​​幕按钮或锁定按钮退出Web应用程序时,我会陷入困境。我基本上需要知道当客户端离开Web应用程序时是否有任何方法可以运行PHP函数。即使它仍然在后台运行。这是我尝试举例的一些截图: enter image description here

修改 我现在已经创建了一个有效的JavaScript 1分钟检查,它将每1分钟将MySQL行更新为true,因为如果客户端在网站上,JavaScript将始终运行。但是,当客户端不再运行间隔时,如何将行设置为false?

3 个答案:

答案 0 :(得分:0)

在AppDelegate.m文件中

有一些名为DidEnterBackground和WillTerminate的方法 当您最小化应用程序时,应用程序将调用DidEnterBackground,并在您杀死应用程序时调用WillTerminate。

希望它能解决

答案 1 :(得分:0)

唯一的防弹方法是让您的应用定期向服务器发送心跳请求,以表明它仍然在线。保留数据库中最后一次心跳的时间戳,并在用户自给定阈值后未发送心跳时将其视为脱机。

AppDelegate方法在这里没用,因为当应用程序即将终止时,您没有足够的时间来完成HTTP请求。此外,您的用户可能会失去她的互联网连接,在这种情况下,这是一个鸡和蛋的问题。

答案 2 :(得分:0)

我终于成功使用JavaScript来检查客户端何时退出.. 以下是其他人遇到同样问题的代码:

window.onbeforeunload = logout;
function logout() {
    $.get("index.php?offline");
}