是这样的,今天在写一个页面的时候在想。如果是类似IE7(8)这样的在标签页里打开网页。登陆后,当用户通过叉掉标签页而不是通过注销按钮来退出网页的话,怎么才能在用户叉页面后就自动发一个信息来注销。因为大家可能都知道的,在多标签叶状态下,如果只是关闭了当前标签页而不关闭浏览器的话。输入刚刚关闭的页面的URL是能正常返回到刚才的页面的。
搜了下资料。有的说用<body onunload="...">试了。当刷新时onunload事件就发生了,onbeforeunload就更不用说了,也就是说每当用户刷新页面时onunload就发生一次,显然用这种方法是不能达到目的的。用window.activematch('onunload', function(){...})也是不行的。其实说白了,就是怎么来获取标签页关闭事件,只要能获取到就可以在发生该事件前提交一个注销请求,自然关闭了标签页,也就自动注销了。输网址或是浏览器的返回也就没用了。
问:大家知不知道怎么获取浏览器标签面关闭事件?
搜了下资料。有的说用<body onunload="...">试了。当刷新时onunload事件就发生了,onbeforeunload就更不用说了,也就是说每当用户刷新页面时onunload就发生一次,显然用这种方法是不能达到目的的。用window.activematch('onunload', function(){...})也是不行的。其实说白了,就是怎么来获取标签页关闭事件,只要能获取到就可以在发生该事件前提交一个注销请求,自然关闭了标签页,也就自动注销了。输网址或是浏览器的返回也就没用了。
问:大家知不知道怎么获取浏览器标签面关闭事件?
解决方案 »
- php 正则表达式含义
- 求熟悉正则的给个判断方法
- 20分问一个PHP的匹配问题,马上结贴
- 高分求助,怎样查询另一个数据库里某个数据表的数据呢?
- session两页面无法传递值
- 查询数据库遇到的头疼的问题
- 为什么我的PHPMYADMIN传到LIUNX上就运行不了啊。
- 为什么类中定义的变量都只向同一个地址,改变一个变量的值,所有的变量都变了。
- 请问如何把用户上传的文件(所有)都保存在sql里面?
- 请问各位大虾,如何实现用户登陆的效果(如chinaren)
- Cannot send session cookie && Cannot send session cache 快疯了 各位朋友帮解决下
- PHP在linux与在windows下的区别?
window.onbeforeunload = onbeforeunload_handler;
window.onunload = onunload_handler;
function onbeforeunload_handler(){
return "确认退出?";
}
function onunload_handler(){
alert("谢谢光临");
}
</script>
<html>
<head>
<title></title>
<script language=javascript>
function window.onbeforeunload()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey||event.ctrlKey)
{
//判断event.altKey是为了Alt+F4关闭的情况;判断event.ctrlKey是为了Ctrl+W关闭的情况
//document.body.clientWidth不包括滚动条,而关闭按钮恰好在滚动条右侧。
alert("1");
window.event.returnValue="";
alert("2");
}
}
</script>
</head>
<body>
hello
</body>
</html>
按alt出来菜单栏(我的IE关闭了菜单显示),按ctrl+F4弹出2个alert框1个关闭确认,ctrl+w弹出2个alert框1个确认,但是直接用鼠标叉(×)就什么反应都没有。我的意思是当用户用鼠标去叉(以关闭)标签面时才发生的事件。如果有一个alert的话,要来它在刷新(加载)页面时不出现,当且仅当叉标签页时才出现。
http://topic.csdn.net/u/20081014/16/c6c01d4e-7e07-4746-a0f2-53f5b40ed773.html
点关闭按钮,ALT+F4,任务栏右键关闭,标题栏右键关闭,任务管理器关闭。
好象就这么多了。