机器学习和生物信息学实验室论坛联盟MAchine Learning And Bioinformatics, MALAB
查看: 7871|回复: 8

求助:怎么判断浏览器是关闭还是刷新?

 火 [复制链接]
发表于 2011-12-6 21:43:06 | 显示全部楼层 |阅读模式
本帖最后由 hsc 于 2011-12-6 21:43 编辑

谁知道怎么判断浏览器是关闭还是刷新?我现在只知道一种javascript版本的,但是,貌似这个只能判断IE浏览器的,连是IE内核的360浏览器都不支持,有谁知道一个能实现多浏览器兼容的判断是刷新还是关闭?
现在弄一个东西刷新和关闭执行一样的代码,很烦人,有谁知道,给说说啊!!!Thank you!!!
回复

使用道具 举报

发表于 2011-12-7 17:24:00 | 显示全部楼层
用JS,在两个关闭和刷新事件里面写。
去查查js的html标准事件哦!
回复

使用道具 举报

 楼主| 发表于 2011-12-7 17:52:50 | 显示全部楼层
tangzk 发表于 2011-12-7 17:24
用JS,在两个关闭和刷新事件里面写。
去查查js的html标准事件哦!

我用的就是js,但是现在只能找到实现对IE和firefox的响应,但是如果是谷歌的话,就不会响应,如果是360的话,就会响应错误,很郁闷~
回复

使用道具 举报

发表于 2011-12-8 17:45:07 | 显示全部楼层
有代码有真相
把贴代码出来瞅瞅
回复

使用道具 举报

 楼主| 发表于 2011-12-8 19:14:56 | 显示全部楼层
chenwq 发表于 2011-12-8 17:45
有代码有真相
把贴代码出来瞅瞅

function closefresh()
{   
        var n = window.event.screenX - window.screenLeft;   
        var b = n > document.documentElement.scrollWidth-20;   
        if(b && window.event.clientY<0 || window.event.altKey){   
            alert("是关闭而非刷新");   
        }else{   
            alert("是刷新而非关闭");   
        }   
}
这是其中的一个代码,但是只有在纯IE浏览器下才能正常运行,但还是偶尔会出现混淆的情况
回复

使用道具 举报

发表于 2011-12-9 11:05:01 | 显示全部楼层
你是要关闭和刷新都执行同一个方法吗?
看下这个。
在JS事件里面有两个:onload和onunload,见附件图。
无标题.png
回复

使用道具 举报

 楼主| 发表于 2011-12-9 12:37:51 | 显示全部楼层
tangzk 发表于 2011-12-9 11:05
你是要关闭和刷新都执行同一个方法吗?
看下这个。
在JS事件里面有两个:onload和onunload,见附件图。

恩,我就是用得是onunload,其实还有一个onbeforeunload,只是不显示,但是这个方法是可以用得,一个是推出之后触发操作,一个是退出之前触发操作,但是貌似,退出和刷新都会触发,我现在要找的就是怎么来区分,刷新和退出,而且是多个浏览器都会兼容的~
回复

使用道具 举报

发表于 2014-5-12 09:13:38 | 显示全部楼层
时间戳可以判定是否是刷新,如果是我的话,就这么判定。
回复

使用道具 举报

 楼主| 发表于 2014-5-12 14:06:18 | 显示全部楼层
endual 发表于 2014-5-12 09:13
时间戳可以判定是否是刷新,如果是我的话,就这么判定。

老早的帖子了,都忘记我最后咋弄的了~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关注公众号
机器学习和生物信息学实验室联盟

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
关注公众号
返回顶部