Javascript 未返回多次返回按钮单击

Javascript 未返回多次返回按钮单击,javascript,jquery,html,Javascript,Jquery,Html,我正在使用history.pushState在SPA上保存状态,但当我点击后退按钮时,它只会第一次保存状态,然后总是保存到同一页面 在下面的链接中,我单击“关于”,然后单击“网络”,然后单击“投资组合” 我现在在公文包上,当我单击“上一步”按钮时,它会返回到网站,当我再次单击“上一步”按钮时,它会停留在网站,它不会返回到关于-应该吗?可以吗 html: 单击“上一步”时,无法将新状态添加到历史记录中: function loadPage(page, back){ // clear DI

我正在使用
history.pushState
在SPA上保存状态,但当我点击后退按钮时,它只会第一次保存状态,然后总是保存到同一页面

在下面的链接中,我单击“关于”,然后单击“网络”,然后单击“投资组合”

我现在在公文包上,当我单击“上一步”按钮时,它会返回到网站,当我再次单击“上一步”按钮时,它会停留在网站,它不会返回到关于-应该吗?可以吗

html:


单击“上一步”时,无法将新状态添加到历史记录中:

function loadPage(page, back){

    // clear DIV and load new content
    var el = document.getElementById('main-block');
    el.innerHTML = '';
    $( "#main-block" ).load( page+'.html #main-block' );

    // change URL and save state
    if (true !== back) {
        history.pushState( {
          pageHistory: page
        }, null, "/"+page );
    }

  }

  // back button
  window.onpopstate = function (event) {
    var content = "";
    if(event.state) {
      content = event.state.pageHistory;
    }
    loadPage(content, true);
  }

太棒了,只是学习了所有这些,这是非常有意义的,我认为应该有一个方法-谢谢
function loadPage(page){

    // clear DIV and load new content
    var el = document.getElementById('main-block');
    el.innerHTML = '';
    $( "#main-block" ).load( page+'.html #main-block' );

    // change URL and save state
    history.pushState( {
      pageHistory: page 
    }, null, "/"+page );

  }

  // back button
  window.onpopstate = function (event) {  
    var content = "";
    if(event.state) {
      content = event.state.pageHistory;
    }
    loadPage(content);
  }
function loadPage(page, back){

    // clear DIV and load new content
    var el = document.getElementById('main-block');
    el.innerHTML = '';
    $( "#main-block" ).load( page+'.html #main-block' );

    // change URL and save state
    if (true !== back) {
        history.pushState( {
          pageHistory: page
        }, null, "/"+page );
    }

  }

  // back button
  window.onpopstate = function (event) {
    var content = "";
    if(event.state) {
      content = event.state.pageHistory;
    }
    loadPage(content, true);
  }