新手求教jquery怎么处理浏览器关闭之前执行销毁session
展开全部
一般都是页面上有安全退出按钮。你可以跳转控制器到服务器上清理。
要不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 = "确认关闭浏览器窗口?!!";
}
要不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即可
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即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询