后退按钮只能使用一次

4 javascript jquery back-button pushstate

我正在我的页面上工作,但找不到我的问题的答案。

我正在使用 window.history.pushstate 和 onpopstate 事件,这是我的代码:

changeContent = function(href) {
  window.history.pushState({}, '', href);
  if (href == "/") {
    $('#main').load('main.html');
  } else {
    $('#main').html('<iframe id="gallery" src="photos'+href+'/index.html"></iframe>');
  }
};

$(window).on("popstate", function(e) {
  changeContent(location.pathname);
});

$(document).on("click", ".galleryLink", function() {
  var href = $( this ).attr( "href" );
  changeContent(href)
  return false;
});
Run Code Online (Sandbox Code Playgroud)

IE

谷歌页面 -> 我的主页 -> 图库 -> 后退按钮 -> 我的主页 -> 后退按钮 -> 我的主页 -> 后退按钮 -> 我的主页

这是怎么回事?

小智 5

知道了!

线:

window.history.pushState({}, '', href);
Run Code Online (Sandbox Code Playgroud)

应该在里面

$(document).on("click", ".galleryLink", function()
Run Code Online (Sandbox Code Playgroud)

我把它放在里面

changeContent = function(href)
Run Code Online (Sandbox Code Playgroud)

这是我的错... :-)