首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

如何判断页面是关闭还是刷新

2013-02-05 
求助:怎么判断页面是关闭还是刷新想用JS来判断,浏览器是关闭还是刷新,要兼容火狐,IE,chrome 主流的那几个

求助:怎么判断页面是关闭还是刷新
想用JS来判断,浏览器是关闭还是刷新,要兼容火狐,IE,chrome 主流的那几个浏览器都得兼容。

function CloseWindows(evt){
        var isIE=document.all?true:false;
        evt = evt ? evt :(window.event ? window.event : null);
        if(isIE){//IE浏览器
            if(evt.clientY<0 || evt.altKey){
                event.returnValue = Language_Lab_Index_LeaveWithoutSave;
            }
        }
        else{
                return Language_Lab_Index_LeaveWithoutSave;
        }
    }

在body中通过加入onbeforeunload="return CloseWindows(event)"。可以监听到上述浏览器的各种关闭离开页面的操作。但是很纠结的是这样写,在除了IE以外的浏览器 都没法判断是刷新还是关闭。求个大神指点下,其他的应该怎么写。谢谢了。 浏览器 chrome ie
[解决办法]
将窗口引用存入一个变量,在窗口被关闭或刷新后通过这个变量来判断窗口的状态
前提是用户没有关闭所有的窗口。
[解决办法]
我用过一个近似判断刷新的方法:
在beforeunload事件中用cookie记录当前时间,
在页面的开始部分添加js读取cookie中的时间,并与当前时间比较,如果差值小于一定值(比如5秒)就认为用户的操作是刷新。

这只是近似判断,满足一般情况,可能存在极限情况下判断错误
[解决办法]

引用:
引用:我用过一个近似判断刷新的方法:
在beforeunload事件中用cookie记录当前时间,
在页面的开始部分添加js读取cookie中的时间,并与当前时间比较,如果差值小于一定值(比如5秒)就认为用户的操作是刷新。

这只是近似判断,满足一般情况,可能存在极限情况下判断错误

这方法不行啊,这是卸载掉当前页面,并从服务器端……

一个方法:控制客户端浏览器的刷新行为(屏蔽按钮、热键、菜单等等刷新途径),并提供刷新按钮给用户点。
另一个方法:从服务器端判断用户请求的url是否和其当前url相同(除去随机变化的参数),如果相同则直接返回退回上一页的js脚本。

热点排行