Javascript 单击选项卡中的关闭btn(X)销毁会话

Javascript 单击选项卡中的关闭btn(X)销毁会话,javascript,php,jquery,Javascript,Php,Jquery,window.onbeforeunload=函数(){ $.ajax({ 键入:“获取”, url:“page/out.php” }); } 保留一个标志以检查您是否单击了浏览器的提交按钮或关闭按钮 <script> var btnClickedFlag = false; window.onbeforeunload = function(){ if(!btnClickedFlag){ $.ajax({ type: "GET", url: "pag


window.onbeforeunload=函数(){
$.ajax({
键入:“获取”,
url:“page/out.php”
});
}

保留一个标志以检查您是否单击了
浏览器的提交
按钮
或关闭
按钮

<script>
var btnClickedFlag = false;
window.onbeforeunload = function(){

  if(!btnClickedFlag){
    $.ajax({
      type: "GET",
      url: "page/out.php"
    });
  }    
}

$('button').click(function(){
  btnClickedFlag = true;
});
</script>

var btnClickedFlag=false;
window.onbeforeunload=函数(){
如果(!btnClickedFlag){
$.ajax({
键入:“获取”,
url:“page/out.php”
});
}    
}
$(“按钮”)。单击(函数(){
btnClickedFlag=true;
});

希望这将对您有所帮助。

保留一个标志以检查您是否单击了
浏览器的提交
按钮
或关闭
按钮

<script>
var btnClickedFlag = false;
window.onbeforeunload = function(){

  if(!btnClickedFlag){
    $.ajax({
      type: "GET",
      url: "page/out.php"
    });
  }    
}

$('button').click(function(){
  btnClickedFlag = true;
});
</script>

var btnClickedFlag=false;
window.onbeforeunload=函数(){
如果(!btnClickedFlag){
$.ajax({
键入:“获取”,
url:“page/out.php”
});
}    
}
$(“按钮”)。单击(函数(){
btnClickedFlag=true;
});

希望这能对您有所帮助。

使用会话cookie或会话存储,一旦浏览器关闭,它就会被删除。一旦浏览器关闭,会话就会被删除,兄弟,但我的意思是在浏览器的“关闭当前”选项卡上,而不是浏览器本身,知道我的意思吗!?:对不起,我的英语太差了bad@MohamedHasan您可以使用会话cookie或会话存储来恢复会话…在我看来,您应该首先避免创建会话,然后使用基于url的cookie或XSRF shitUse会话cookie或会话存储,一旦浏览器关闭,它将被删除。会话一旦浏览器关闭,它就会工作,兄弟,但我的意思是在浏览器的“关闭当前”选项卡上,而不是浏览器本身,知道我的意思吗!?:对不起,我的英语太差了bad@MohamedHasan您可以使用会话cookie或会话存储还原会话…我觉得您应该首先避免创建会话,然后使用基于url的cookie或XSRF之类的工具来检测是否单击了浏览器的关闭按钮?@Teemu。。Op的问题与表单提交时“提交按钮”页面的重新加载有关。所以,OP提供的任何代码都可以用于浏览器的关闭按钮。是的,一般来说,任何重定向,包括刷新,都应该保持会话。你的回答只适用于表单提交。是的,提交我的表单很好,但是当关闭选项卡没有会话删除时,也许我应该使用会话cookie或存储,如永无止境和蒂姆所说。如何检测浏览器的关闭按钮是否被点击?@Teemu。。Op的问题与表单提交时“提交按钮”页面的重新加载有关。所以,OP提供的任何代码都可以用于浏览器的关闭按钮。是的,一般来说,任何重定向,包括刷新,都应该保持会话。你的答案只适用于表单提交。是的,当提交我的表单时,这是个好主意,但当关闭选项卡时,没有会话删除,也许我应该使用会话cookie或存储,如无尽的和蒂姆说。