我有一个程序,必须在用户退出时清空session里的东西,
如果用户点退出按钮,完全OK,但如果他把浏览器直接关闭就完蛋了.
而且页面里有一个ocx控件也要求要点退出,在这个控件没关闭之前,其实应该禁止关闭IE的.我现在的问题是:
1.能否在用户关闭浏览器时给个确认框,如果他点否就不让关闭.
2.在关闭时自动向服务器发一条消息,说明浏览器已经关闭.
如果用户点退出按钮,完全OK,但如果他把浏览器直接关闭就完蛋了.
而且页面里有一个ocx控件也要求要点退出,在这个控件没关闭之前,其实应该禁止关闭IE的.我现在的问题是:
1.能否在用户关闭浏览器时给个确认框,如果他点否就不让关闭.
2.在关闭时自动向服务器发一条消息,说明浏览器已经关闭.
<HEAD>
<title>test</title>
</HEAD>
<body onbeforeunload="RunOnBeforeUnload()" onunload="RunOnUnload()">
<script language="javascript">
function RunOnBeforeUnload() {
window.event.returnValue = '关闭浏览器将退出系统.';
}
function RunOnUnload() {
alert('呵呵~');
}
</script>
</body>
</HTML>
<HEAD>
<title>test</title>
</HEAD>
<body onbeforeunload="RunOnBeforeUnload()" onunload="RunOnUnload()">
<script language="javascript">
function RunOnBeforeUnload() {
window.event.returnValue = '关闭浏览器将退出系统.';
}
function RunOnUnload() {
alert('呵呵~');
}
</script>
</body>
</HTML>
楼上的不全对啊
那也只是页面表层关闭啊浏览器不支持的概率小呵
我给一个设定session时间的方法。
session.setMaxInactiveInterval(1200);//20分钟后session失效。
window.onbeforeunload = function() //author: meizz
{
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
window.event.returnValue = "";
}
}
</script>
wyhlgx(小飞飞)的方法也用过,onbeforeunload这个方法不知道为什么时灵是不灵的,
onunload到是都会执行,可我要做的不是alert,而是要向服务器发信息,我在页面加载是创建了一个 XMLHttpRequest对象,在关闭时发送代码如下var xmlHttp;
function createXMLHttpRequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
var url="/test/test.do?action=logout";
xmlHttp.open("post", url, true);
}
function logout(){
xmlHttp.send(null);}可服务器不知道为什么收不到,而且最严重的是每次刷新都会弹出对话框,很烦人
我目前打算采用的办法是页面每隔5分钟向服务器发一条消息,如果服务器没受到消息就判定用户退出,不知道这个方法可行不,大家给点意见
<HEAD>
<title>test</title>
</HEAD>
<body onbeforeunload="RunOnBeforeUnload()" onunload="RunOnUnload()">
<script language="javascript">
function RunOnBeforeUnload() {
window.event.returnValue = '关闭浏览器将退出系统.';
}
function RunOnUnload() {
alert('呵呵~');
}
</script>
</body>
</HTML>