首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在浏览器返回时触发事件,并使用新的url强制刷新或重新加载页面

在浏览器返回时触发事件,并使用新的url强制刷新或重新加载页面
EN

Stack Overflow用户
提问于 2016-03-02 21:48:55
回答 1查看 2.8K关注 0票数 0

这是我的url: DOMAIN-NAME/#city=13&pc=13&car=18.26+2.97

现在,当用户单击browser back时,查询字符串参数将被逐个删除,如下所示:

第一个浏览器返回: DOMAIN-NAME/#city=13&pc=13&car=18.26

第二个浏览器返回: DOMAIN-NAME/#city=13&pc=13

第三个浏览器返回: DOMAIN-NAME/#city=13

问题是,在浏览器返回时,页面不能重新加载。

我读到关于hashchange,pushstate,但我无法计算出在浏览器上重新加载页面的正确方法?

我试过了: var hash;

代码语言:javascript
复制
$(window).on('hashchange', function () {
    if (hash != window.location.hash) {
         alert('hash change called');
        //window.location.reload(true);
    }
    hash = window.location.hash;
});

当我刷新页面时,这会反复地重新加载页面。

EN

回答 1

Stack Overflow用户

发布于 2016-03-02 22:42:41

你需要的是'windows.location‘,它允许你检查当前的网址并分配一个新的网址,或者在这种情况下强制重新加载。JavaScript Window Location

你可以这样做:

代码语言:javascript
复制
function reload(){
    window.location.assign(window.location.href);
}

当你检测到导航的时候...可以使用超文本标记语言onbeforeunload Event Attribute或类似的东西...

代码语言:javascript
复制
<body onbeforeunload="return reload()">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35749043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档