网页关闭监听不起作用,望高手指教啊!!

淅沥加油 2013-03-06 11:12:31
我写的网页关闭监听不起作用,用的方法如下:

<script>
function window.onbeforeunload() {alert("关闭窗口");}
</script>
...全文
304 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin123de 2014-04-09
  • 打赏
  • 举报
回复
楼主,火狐浏览器监听关闭必须要有返回值?
淅沥加油 2013-03-06
  • 打赏
  • 举报
回复
最终使用的网页关闭监听的如下,希望对大家有所帮助!

window.onbeforeunload = onbeforeunload_handler;   
    window.onunload = onunload_handler;   
    function onbeforeunload_handler(){   
        var warning="确认退出?";           
        return warning;   
    }   
       
    function onunload_handler(){   
        var warning="谢谢光临";   
        alert(warning);   
    }  
淅沥加油 2013-03-06
  • 打赏
  • 举报
回复
引用 3 楼 wzs_xyz 的回复:
引用 2 楼 liuxilil 的回复:引用 1 楼 wzs_xyz 的回复:<script> window.onbeforeunload=function() {alert("关闭窗口");} </script> 我试了下,还是不起作用(我用的是火狐浏览器) 可以,alert已弹出
问题已经解决了,这个可以用,是我本身系统一些设置问题,不过谢谢了!
未知数 2013-03-06
  • 打赏
  • 举报
回复
引用 2 楼 liuxilil 的回复:
引用 1 楼 wzs_xyz 的回复:<script> window.onbeforeunload=function() {alert("关闭窗口");} </script> 我试了下,还是不起作用(我用的是火狐浏览器)
可以,alert已弹出
淅沥加油 2013-03-06
  • 打赏
  • 举报
回复
引用 1 楼 wzs_xyz 的回复:
<script> window.onbeforeunload=function() {alert("关闭窗口");} </script>
我试了下,还是不起作用(我用的是火狐浏览器)
未知数 2013-03-06
  • 打赏
  • 举报
回复
<script> window.onbeforeunload=function() {alert("关闭窗口");} </script>
淅沥加油 2013-03-06
  • 打赏
  • 举报
回复
引用 9 楼 liuxilil 的回复:
引用 7 楼 wzs_xyz 的回复:引用 6 楼 liuxilil 的回复:怎么只让网页关闭的时候监听而刷新的时候不监听呢 这本就是错误的做法,浏览器对该功能的支持是有限且不一致的,出于安全考虑,一些浏览器不会显示return的信息(比如返回“关闭将导致系统崩溃”恐吓用户)。 而刷新也是无法判断的,勉强能用的方法估计是间隔时间吧,在cookie中存放关闭时的时间,页……
问题确定了: 刷新的时候选择离开页面,会重新刷新页面,点击留在页面则不会刷新,点击关闭,选择离开页面则会关闭,选择留在页面则会保持当前页面,符合业务需求,所以不用改了!(*^__^*) 嘻嘻……
淅沥加油 2013-03-06
  • 打赏
  • 举报
回复
引用 7 楼 wzs_xyz 的回复:
引用 6 楼 liuxilil 的回复:怎么只让网页关闭的时候监听而刷新的时候不监听呢
这本就是错误的做法,浏览器对该功能的支持是有限且不一致的,出于安全考虑,一些浏览器不会显示return的信息(比如返回“关闭将导致系统崩溃”恐吓用户)。
而刷新也是无法判断的,勉强能用的方法估计是间隔时间吧,在cookie中存放关闭时的时间,页面加载时与当前时间比较一下,间隔很短就……

主要现在刷新的时候弹出的框没有任何作用,不管是选择哪个,都会留在页面,只有关闭的时候选择离开页面才能关闭。
2013-05-31 2013-03-06
  • 打赏
  • 举报
回复
引用 7 楼 wzs_xyz 的回复:
引用 6 楼 liuxilil 的回复: 怎么只让网页关闭的时候监听而刷新的时候不监听呢 这本就是错误的做法,浏览器对该功能的支持是有限且不一致的,出于安全考虑,一些浏览器不会显示return的信息(比如返回“关闭将导致系统崩溃”恐吓用户)。 而刷新也是无法判断的,勉强能用的方法估计是间隔时间吧,在cookie中存放关闭时的时间,页面加载时与当前时间比较一下,间隔很短就认为是刷新,不过不建议……
这样写 刷新也是有效的
未知数 2013-03-06
  • 打赏
  • 举报
回复
引用 6 楼 liuxilil 的回复:
怎么只让网页关闭的时候监听而刷新的时候不监听呢
这本就是错误的做法,浏览器对该功能的支持是有限且不一致的,出于安全考虑,一些浏览器不会显示return的信息(比如返回“关闭将导致系统崩溃”恐吓用户)。 而刷新也是无法判断的,勉强能用的方法估计是间隔时间吧,在cookie中存放关闭时的时间,页面加载时与当前时间比较一下,间隔很短就认为是刷新,不过不建议这么做。 弹出层才是正确做法,需要确认关闭的信息放在弹出层中,这样关闭可以再弹出确认信息
淅沥加油 2013-03-06
  • 打赏
  • 举报
回复
怎么只让网页关闭的时候监听而刷新的时候不监听呢

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧