【问题标题】:Click back button twice to go back in history单击返回按钮两次以返回历史记录
【发布时间】:2022-10-23 21:23:16
【问题描述】:

我有一个单页应用程序,想使用浏览器的后退和前进按钮浏览历史记录。当我单击后退按钮时,我遇到了一个问题,一旦它没有导航到上一页但停留在当前页面上。然后,当我再次单击浏览器时,它会将我带到上一页。我已经尝试了以下内容。

class PageModule {
      constructor() {
        window.addEventListener("popstate",function(){
          this.handleHistory(true);
        }.bind(this),false);
       }

  

handleHistory(popStateEventFired = false){
    if(popStateEventFired){
      history.replaceState();
    }else{
      history.pushState(null,null);
    }

    history.pushState(null,null);
    
  }
        

当我发出搜索时,我将搜索参数作为查询参数添加到 url ?question=testsearch 并调用方法 handleHistory()。我已经检查了类似问题的其他答案,但它们似乎没有帮助。 我必须使用 vanilla javascript 或 knockoutjs 来执行此操作,因为我们使用 knockoutjs 维护 HTML 绑定,但无法正确实现此目的。 任何帮助表示赞赏

【问题讨论】:

  • 如何结束这个问题?我找到了根本原因,我的问题是由于执行不正确

标签: javascript html knockout.js


【解决方案1】:

你是如何解决这个问题的?谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-28
    • 2023-03-31
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 2020-10-06
    • 2012-10-26
    • 1970-01-01
    相关资源
    最近更新 更多