检查浏览器url改变,处理ajax前进和后退键

在用ajax获取数据,不刷新页面情况下,保持前进后退按钮功能,网页端兼容性最好的方式如下:

首先url后面参数用#  如http://www.xxx.com/#txf; 使用改变location.hash来改变#后面参数时,页面不会跳转,但会产生记录。这样就能做监控了:

var oldURL,newURL;

//检查浏览器url 前进和后退键
if( ("onhashchange" in window) && ((typeof document.documentMode==="undefined") || document.documentMode==8)) {
    // 浏览器支持onhashchange事件
    window.onhashchange = changeUrl; // TODO,对应新的hash执行的操作函数
} else {
    // 不支持则用定时器检测的办法
    setInterval(function() {
        var ischanged = isHashChanged(); // TODO,检测hash值或其中某一段是否更改的函数
        if(ischanged) {
            changeUrl(); // TODO,对应新的hash执行的操作函数
        }
    },200);
};
function isHashChanged(){
    newURL=location.hash;
    if(oldURL==newURL){
        return false;
    }else{
        oldURL=newURL
        return true;
    };
};

function changeUrl(){//url改变时候执行的事件方法 

};

转载于:https://www.cnblogs.com/txf1013/p/6401420.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值