使用onbeforeunload和onunload 操作,在网上看了看基本上都是使用
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
}
实际他并没有起作用。请教谁有这方面的经验
27 个解决方案
#1
或者谁对用户非法退出系统 注销账号有什么建议。
#2
为什么要区分刷新和关闭呢?
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
#3
我提的非法退出系统就是 我在登陆时设置了他的登陆状态,想在他强制关闭网页时把状态置为下线状态,
那么这个session失效是?
#4
好吧,要实现这个功能,所以就要判断用户关闭窗口?
那你有没有想过,如果用户打开了两个标签,关闭其中一个,你通知了后台说该用户下线了,你说他是在线呢还是下线状态呢?
所以,你的解决方案,第一,行不通,第二,就算行得通也有逻辑上的bug。
你这个“登陆状态”是单纯标志当前用户是否在线之用,还是时时记录网站的当前所有在线人数之用?
#5
为什么要区分刷新和关闭呢?
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
我提的非法退出系统就是 我在登陆时设置了他的登陆状态,想在他强制关闭网页时把状态置为下线状态,
那么这个session失效是?
好吧,要实现这个功能,所以就要判断用户关闭窗口?
那你有没有想过,如果用户打开了两个标签,关闭其中一个,你通知了后台说该用户下线了,你说他是在线呢还是下线状态呢?
所以,你的解决方案,第一,行不通,第二,就算行得通也有逻辑上的bug。
你这个“登陆状态”是单纯标志当前用户是否在线之用,还是时时记录网站的当前所有在线人数之用?
只记录当前用户是否在线。
确实这样的设计是有问题的,有好的设计我可以试试。
#6
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
#7
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
#8
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
后端语言都会有session机制的,你后端是php还是java还是其他?
登陆的流程是:获取提交的表单,检查用户和密码是否正确,如果正确,把用户已登陆的信息放入session。
以后每一次请求,都可以判断session中是否有已登陆的相关信息。你说的防止重复登录,完全可以在登陆操作之前判断session来阻止已登陆用户进行此操作。
楼主还是先了解了解session机制的具体细节吧。
#9
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
后端语言都会有session机制的,你后端是php还是java还是其他?
登陆的流程是:获取提交的表单,检查用户和密码是否正确,如果正确,把用户已登陆的信息放入session。
以后每一次请求,都可以判断session中是否有已登陆的相关信息。你说的防止重复登录,完全可以在登陆操作之前判断session来阻止已登陆用户进行此操作。
楼主还是先了解了解session机制的具体细节吧。
后台是MVC的, 好像关闭浏览器也不会触发Session_End事件的。
#10
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
后端语言都会有session机制的,你后端是php还是java还是其他?
登陆的流程是:获取提交的表单,检查用户和密码是否正确,如果正确,把用户已登陆的信息放入session。
以后每一次请求,都可以判断session中是否有已登陆的相关信息。你说的防止重复登录,完全可以在登陆操作之前判断session来阻止已登陆用户进行此操作。
楼主还是先了解了解session机制的具体细节吧。
后台是MVC的, 好像关闭浏览器也不会触发Session_End事件的。
防止重复我已实现,我是考虑的就是,当用户直接关闭浏览器时他的状态还是在线状态,那么下次登录时就会提示重复登录。
#11
那是因为session有失效的时间,你不用管这些。把登陆信息往session里丢就是了。session机制就是来解决HTTP无状态的问题的。
#12
好吧,不知道你是怎么做已登陆验证的。
#13
那是因为session有失效的时间,你不用管这些。把登陆信息往session里丢就是了。session机制就是来解决HTTP无状态的问题的。
丢进去以后然后在Session_End中如何处理呢?
#14
session有一定的失效时间。因此,在session未失效期间,用户又重新回到你的网站,此时,用户还是已登陆状态的。如果用户离开的时间达到session失效时间,那么用户真的就下线了。一般我会把user这个对象放入session中,判断用户是否登陆的代码就是:
其他语言类似。
不需要在session_end中做处理的。
isset($_SESSION['user']);
request.getSession().getAttribute("user") != null;
其他语言类似。
不需要在session_end中做处理的。
#15
session到达超时时间,会自动销毁,因此超时后以上代码会返回false。
后台语言会自动维护session,记录最后活跃时间,因此不用担心的。
后台语言会自动维护session,记录最后活跃时间,因此不用担心的。
#16
session有一定的失效时间。因此,在session未失效期间,用户又重新回到你的网站,此时,用户还是已登陆状态的。如果用户离开的时间达到session失效时间,那么用户真的就下线了。一般我会把user这个对象放入session中,判断用户是否登陆的代码就是:
isset($_SESSION['user']);
request.getSession().getAttribute("user") != null;
其他语言类似。
不需要在session_end中做处理的。
你的意思是用Session来记录当前的在线用户。 那么这时Session的默认时间是多长呢, 我关闭浏览器后多长时间这个session会失效呢?
#17
session到达超时时间,会自动销毁,因此超时后以上代码会返回false。
后台语言会自动维护session,记录最后活跃时间,因此不用担心的。
你需要在web.config中配置吗?
#18
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
#19
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
MVC2。
我登录时用Session保存当前用户,然后再打开一个页面用相同浏览器登录session还是null
#20
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
MVC2。
我登录时用Session保存当前用户,然后再打开一个页面用相同浏览器登录session还是null
好吧,我也不懂MVC2神马的,你这个问题可以转到ASP.NET板块了,和js无关的哦。
#21
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
MVC2。
我登录时用Session保存当前用户,然后再打开一个页面用相同浏览器登录session还是null
好吧,我也不懂MVC2神马的,你这个问题可以转到ASP.NET板块了,和js无关的哦。
好的,多谢。
#22
#23
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
#24
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
#25
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
#26
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
亲测,么有问题。
#27
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
亲测,么有问题。
<script type="text/javascript">
window.onbeforeunload = function () {
alert("===onbeforeunload===");
if (event.clientX > document.body.clientWidth && event.clientY < 0 || event.altKey) {
alert("你关闭了浏览器");
} else {
alert("你正在刷新页面");
}
return false;
}
</script>
这是我的测试代码,刷新和关闭执行的事件都一样!!
#1
或者谁对用户非法退出系统 注销账号有什么建议。
#2
为什么要区分刷新和关闭呢?
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
#3
为什么要区分刷新和关闭呢?
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
我提的非法退出系统就是 我在登陆时设置了他的登陆状态,想在他强制关闭网页时把状态置为下线状态,
那么这个session失效是?
#4
为什么要区分刷新和关闭呢?
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
我提的非法退出系统就是 我在登陆时设置了他的登陆状态,想在他强制关闭网页时把状态置为下线状态,
那么这个session失效是?
好吧,要实现这个功能,所以就要判断用户关闭窗口?
那你有没有想过,如果用户打开了两个标签,关闭其中一个,你通知了后台说该用户下线了,你说他是在线呢还是下线状态呢?
所以,你的解决方案,第一,行不通,第二,就算行得通也有逻辑上的bug。
你这个“登陆状态”是单纯标志当前用户是否在线之用,还是时时记录网站的当前所有在线人数之用?
#5
为什么要区分刷新和关闭呢?
没明白什么叫非法退出系统。
如果不退出就关闭窗口,session就会自动失效(取决于你后端如何设置session过期),那么登陆也会失效的。
我提的非法退出系统就是 我在登陆时设置了他的登陆状态,想在他强制关闭网页时把状态置为下线状态,
那么这个session失效是?
好吧,要实现这个功能,所以就要判断用户关闭窗口?
那你有没有想过,如果用户打开了两个标签,关闭其中一个,你通知了后台说该用户下线了,你说他是在线呢还是下线状态呢?
所以,你的解决方案,第一,行不通,第二,就算行得通也有逻辑上的bug。
你这个“登陆状态”是单纯标志当前用户是否在线之用,还是时时记录网站的当前所有在线人数之用?
只记录当前用户是否在线。
确实这样的设计是有问题的,有好的设计我可以试试。
#6
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
#7
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
#8
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
后端语言都会有session机制的,你后端是php还是java还是其他?
登陆的流程是:获取提交的表单,检查用户和密码是否正确,如果正确,把用户已登陆的信息放入session。
以后每一次请求,都可以判断session中是否有已登陆的相关信息。你说的防止重复登录,完全可以在登陆操作之前判断session来阻止已登陆用户进行此操作。
楼主还是先了解了解session机制的具体细节吧。
#9
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
后端语言都会有session机制的,你后端是php还是java还是其他?
登陆的流程是:获取提交的表单,检查用户和密码是否正确,如果正确,把用户已登陆的信息放入session。
以后每一次请求,都可以判断session中是否有已登陆的相关信息。你说的防止重复登录,完全可以在登陆操作之前判断session来阻止已登陆用户进行此操作。
楼主还是先了解了解session机制的具体细节吧。
后台是MVC的, 好像关闭浏览器也不会触发Session_End事件的。
#10
如果是要单纯实现标志当前用户为合法的登陆用户,session机制就是你要的。
如果你在统计网站的在线人数,这样吧,建一个online_user表,记录用户的最后活跃时间。用一个定时任务,每隔10分钟或者30分钟,扫描一下这个表,判断用户的最后活跃时间,如果超出你设定的时间,就认为该用户已下线。
我主要意图不是统计当前在线用户,只是为了防止重复登录,目前就是不知道怎么处理用户非法退出系统时注销的问题。
后端语言都会有session机制的,你后端是php还是java还是其他?
登陆的流程是:获取提交的表单,检查用户和密码是否正确,如果正确,把用户已登陆的信息放入session。
以后每一次请求,都可以判断session中是否有已登陆的相关信息。你说的防止重复登录,完全可以在登陆操作之前判断session来阻止已登陆用户进行此操作。
楼主还是先了解了解session机制的具体细节吧。
后台是MVC的, 好像关闭浏览器也不会触发Session_End事件的。
防止重复我已实现,我是考虑的就是,当用户直接关闭浏览器时他的状态还是在线状态,那么下次登录时就会提示重复登录。
#11
那是因为session有失效的时间,你不用管这些。把登陆信息往session里丢就是了。session机制就是来解决HTTP无状态的问题的。
#12
好吧,不知道你是怎么做已登陆验证的。
#13
那是因为session有失效的时间,你不用管这些。把登陆信息往session里丢就是了。session机制就是来解决HTTP无状态的问题的。
丢进去以后然后在Session_End中如何处理呢?
#14
session有一定的失效时间。因此,在session未失效期间,用户又重新回到你的网站,此时,用户还是已登陆状态的。如果用户离开的时间达到session失效时间,那么用户真的就下线了。一般我会把user这个对象放入session中,判断用户是否登陆的代码就是:
其他语言类似。
不需要在session_end中做处理的。
isset($_SESSION['user']);
request.getSession().getAttribute("user") != null;
其他语言类似。
不需要在session_end中做处理的。
#15
session到达超时时间,会自动销毁,因此超时后以上代码会返回false。
后台语言会自动维护session,记录最后活跃时间,因此不用担心的。
后台语言会自动维护session,记录最后活跃时间,因此不用担心的。
#16
session有一定的失效时间。因此,在session未失效期间,用户又重新回到你的网站,此时,用户还是已登陆状态的。如果用户离开的时间达到session失效时间,那么用户真的就下线了。一般我会把user这个对象放入session中,判断用户是否登陆的代码就是:
isset($_SESSION['user']);
request.getSession().getAttribute("user") != null;
其他语言类似。
不需要在session_end中做处理的。
你的意思是用Session来记录当前的在线用户。 那么这时Session的默认时间是多长呢, 我关闭浏览器后多长时间这个session会失效呢?
#17
session到达超时时间,会自动销毁,因此超时后以上代码会返回false。
后台语言会自动维护session,记录最后活跃时间,因此不用担心的。
你需要在web.config中配置吗?
#18
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
#19
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
MVC2。
我登录时用Session保存当前用户,然后再打开一个页面用相同浏览器登录session还是null
#20
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
MVC2。
我登录时用Session保存当前用户,然后再打开一个页面用相同浏览器登录session还是null
好吧,我也不懂MVC2神马的,你这个问题可以转到ASP.NET板块了,和js无关的哦。
#21
后台是MVC的,
没明白你的后台到底是什么,MVC是设计思想的说。
请自行百度你所用的后端语言的session默认过期时间,以及如何手动调整这个时间。
MVC2。
我登录时用Session保存当前用户,然后再打开一个页面用相同浏览器登录session还是null
好吧,我也不懂MVC2神马的,你这个问题可以转到ASP.NET板块了,和js无关的哦。
好的,多谢。
#22
#23
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
#24
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
#25
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
#26
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
亲测,么有问题。
#27
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
1.这中写法IE中支持较好
2.Chrome 仅会弹出是否离开此页/是否重新加载此页。不会执行alert。
3.FireFox 会执行alert后关闭窗口。
没有过多研究,请见谅
我在IE9下测试也是不行嘚
window.onbeforeunload=function (){
alert("===onbeforeunload===");
if(event.clientX>document.body.clientWidth && event.clientY < 0 || event.altKey){
alert("你关闭了浏览器");
}else{
alert("你正在刷新页面");
}
return false;
}
加 return false; 了吗?
亲测,么有问题。
<script type="text/javascript">
window.onbeforeunload = function () {
alert("===onbeforeunload===");
if (event.clientX > document.body.clientWidth && event.clientY < 0 || event.altKey) {
alert("你关闭了浏览器");
} else {
alert("你正在刷新页面");
}
return false;
}
</script>
这是我的测试代码,刷新和关闭执行的事件都一样!!