机器学习和生物信息学实验室联盟

标题: 求助:怎么判断浏览器是关闭还是刷新? [打印本页]

作者: hsc    时间: 2011-12-6 21:43
标题: 求助:怎么判断浏览器是关闭还是刷新?
本帖最后由 hsc 于 2011-12-6 21:43 编辑

谁知道怎么判断浏览器是关闭还是刷新?我现在只知道一种javascript版本的,但是,貌似这个只能判断IE浏览器的,连是IE内核的360浏览器都不支持,有谁知道一个能实现多浏览器兼容的判断是刷新还是关闭?
现在弄一个东西刷新和关闭执行一样的代码,很烦人,有谁知道,给说说啊!!!Thank you!!!
作者: tangzk    时间: 2011-12-7 17:24
用JS,在两个关闭和刷新事件里面写。
去查查js的html标准事件哦!
作者: hsc    时间: 2011-12-7 17:52
tangzk 发表于 2011-12-7 17:24
用JS,在两个关闭和刷新事件里面写。
去查查js的html标准事件哦!

我用的就是js,但是现在只能找到实现对IE和firefox的响应,但是如果是谷歌的话,就不会响应,如果是360的话,就会响应错误,很郁闷~
作者: chenwq    时间: 2011-12-8 17:45
有代码有真相
把贴代码出来瞅瞅
作者: hsc    时间: 2011-12-8 19:14
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浏览器下才能正常运行,但还是偶尔会出现混淆的情况
作者: tangzk    时间: 2011-12-9 11:05
你是要关闭和刷新都执行同一个方法吗?
看下这个。
在JS事件里面有两个:onload和onunload,见附件图。
[attach]302[/attach]
作者: hsc    时间: 2011-12-9 12:37
tangzk 发表于 2011-12-9 11:05
你是要关闭和刷新都执行同一个方法吗?
看下这个。
在JS事件里面有两个:onload和onunload,见附件图。

恩,我就是用得是onunload,其实还有一个onbeforeunload,只是不显示,但是这个方法是可以用得,一个是推出之后触发操作,一个是退出之前触发操作,但是貌似,退出和刷新都会触发,我现在要找的就是怎么来区分,刷新和退出,而且是多个浏览器都会兼容的~
作者: endual    时间: 2014-5-12 09:13
时间戳可以判定是否是刷新,如果是我的话,就这么判定。
作者: hsc    时间: 2014-5-12 14:06
endual 发表于 2014-5-12 09:13
时间戳可以判定是否是刷新,如果是我的话,就这么判定。

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




欢迎光临 机器学习和生物信息学实验室联盟 (http://123.57.240.48/) Powered by Discuz! X3.2