如何在用户关闭浏览器时在控制器中运行方法
How to run method in controller when user close browser in laravel 5
我需要检测当用户关闭浏览器,保存记录在数据库,
那么我怎么知道当用户关闭浏览器?
默认不允许。Laravel是一个服务器端脚本框架。HTTP是一种无状态协议。服务器只有在发送请求时才知道客户端。话虽如此,您可以实现一种机制,从每个连接的客户端定期发送"ping"请求。缺少这些ping请求可能表示用户会话结束。
最后我解决了这个问题,可以检查连接失败或您关闭他的浏览器或关闭他的计算机而没有从我的网站注销,从我的网站注销他并记录他的注销时间
解决方案:
Java脚本:setInterval(函数(){
$.ajax({
url: '/home/outFromSystem' ,
type: 'POST',
data: {
},
success: function(result) {
console.log(result);
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
}
});
}, 50000);
PHP:outFromSystem(){
ignore_user_abort(true);
for ($i = 0; $i < 10; $i++) {
flush();
ob_flush();
if (connection_aborted()) {
// your code
}
sleep(1);
}
}
相关文章:
- 在子控制器中触发时,Ionic AngularJS父动画未正确运行
- 在使用nodejs运行服务器端时,无法加载角度控制器文件
- EmberJS:将输入值绑定到控制器属性,并在更改时运行过滤器
- 如何在控制器外部和视图内在 AngularJs 中运行 jQuery
- AngularJS重新运行控制器
- 在控制台中列出正在运行的控制器实例及其 this 变量
- 在页面呈现之前运行 JavaScript 和控制器操作
- 在一个控制器 ui 路由器中的所有 $state.go() 事件之前运行 check
- 角度控制器功能未运行
- 除非刷新,否则 AngularJS 不会运行控制器
- 如何模拟在控制器初始化时运行的函数
- 只有在 AngularJS 中初始化完成后才运行控制器
- 单击按钮时运行控制器方法MVC4 C#
- 角度函数未在控制器中运行或绑定到$scope变量
- 推迟在应用程序运行angularjs上创建控制器/服务
- 路由加载时运行成员控制器函数以设置控制复选框的属性
- 角度-点击时从控制器运行函数
- ASP.NET MVC3-运行的每个选项卡中的控制器
- 在angular中,是否可以在控制器运行之前让指令将变量添加到范围中
- 具有独立于控制器运行的Angular$间隔