Php 关闭浏览器时调用ajax,而不是更改url
我想在用户不从应用程序手动注销时插入注销时间戳,即,如果用户在未从系统注销的情况下关闭浏览器,则系统应在浏览器关闭事件或任何其他解决方案上注销,以使用jquery、ajax和php执行相同操作。我尝试了以下代码:Php 关闭浏览器时调用ajax,而不是更改url,php,jquery,ajax,Php,Jquery,Ajax,我想在用户不从应用程序手动注销时插入注销时间戳,即,如果用户在未从系统注销的情况下关闭浏览器,则系统应在浏览器关闭事件或任何其他解决方案上注销,以使用jquery、ajax和php执行相同操作。我尝试了以下代码: <script type="text/javascript"> window.onbeforeunload = function() { $.ajax ({ url: 'logout.
<script type="text/javascript">
window.onbeforeunload = function() {
$.ajax
({
url: 'logout.php',
data: "",
type: 'post',
success: function()
{
.....
}
});
}
</script>
window.onbeforeunload=函数(){
$.ajax
({
url:'logout.php',
数据:“,
键入:“post”,
成功:函数()
{
.....
}
});
}
但是window.onbeforeunload函数()的特点是,每当像chrome这样的webkit浏览器中的url发生变化时,就会将我注销。我需要一些跨浏览器的解决方案。关于这个问题,我在stackoverflow上看到了各种各样的问题,但我找不到任何有助于我解决这个问题的解决方案
我还需要提到,在logout.php中,我使用代码终止会话,并在数据库中插入查询,以及注销时间戳 我想为浏览器关闭时的ajax调用推荐以下代码
<script type="text/javascript">
window.onbeforeunload = function() {
var ticketId = $('#ticketId').val();
$.ajax({
url: '/ticket-window-close/'+ticketId,
type: 'GET',
async: false,
timeout: 10000
});
};
</script>
window.onbeforeunload=函数(){
var ticketId=$('#ticketId').val();
$.ajax({
url:'/ticket window close/'+ticketId,
键入:“GET”,
async:false,
超时:10000
});
};
这是因为当用户移动到下一页时,站点中的每个页面都会被卸载!!!哼!我可能弄错了,如果我弄错了,请纠正我,但是如果浏览器关闭后没有剩余的浏览器,人们应该如何看到浏览器范围中显示的任何内容呢?我不知道。您可能是对的,但必须有某种方法,以便不管怎样,如果用户不手动注销,我们需要一些代码(在我的例子中是logout.php中编写的代码)来运行,以便数据库不具有注销日期值@这是可以理解的,先生@胡说八道。但如果你能提出一些适合我的解决方案,我们将不胜感激。你无法判断用户何时离开而不注销。你所能知道的就是他们已经有一段时间不活动了。这意味着当他们进入你网站的每个页面时,你必须更新一个last\u active
时间戳。如果now-last\u active>会话超时时间
。毕竟,在这段时间之后,会话将不再有效,因此他们将被迫再次登录。