新手求教jquery怎么处理浏览器关闭之前执行销毁session

 我来答
百度网友14f7e688aad
2014-12-22 · TA获得超过660个赞
知道小有建树答主
回答量:830
采纳率:0%
帮助的人:649万
展开全部
一般都是页面上有安全退出按钮。你可以跳转控制器到服务器上清理。

要不session有个过期时间可以自动清理。

如果你是点关闭按钮,听很多朋友说浏览器有些都不监听关闭事件的。下面这个只兼容ie.
window.onbeforeunload = function (e) {
e = e || window.event;
var y = e.clientY
if (y <= 0
|| y >= Math.max(document.body.clientHeight, document.documentElement.clientHeight)
)
e.returnValue = "确认关闭浏览器窗口?!!";
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-12-22
展开全部
Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或者在<body>里指定。区别在于onbeforeunload在onunload之前执行,它还可以阻止onunload的执行。

Onbeforeunload也是在页面刷新或关闭时调用,Onbeforeunload是正要去服务器读取新的页面时调用,此时还没开始读取;而onunload则已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用。Onunload是无法阻止页面的更新和关闭的。而 Onbeforeunload 可以做到。

window.onbeforeunload = onbeforeunload_handler;
window.onunload = onunload_handler;
function onbeforeunload_handler(){
var warning="确认退出?";
return warning;
}

function onunload_handler(){
var warning="谢谢光临";
alert(warning);
des_seesion();
}
function des_seesion(){
$.post('xxx.php?act=destory_session',
function(result){
if(result==1){
alert("销毁session成功");
}
},'TEXT');

}
销毁session就看您的后端是什么语言了,在关闭函数里调用ajax请求后端删除session即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式