Javascript 使用history pushState api避免在返回时重新加载整页按钮

Javascript 使用history pushState api避免在返回时重新加载整页按钮,javascript,ruby-on-rails,pushstate,history.js,Javascript,Ruby On Rails,Pushstate,History.js,目前我有一个页面(RubyonRails应用程序),我永远不想完全重新加载页面。所有链接都是ajax部分页面加载。我正在使用history.pushState api在用户导航时相应地更改url 点击一个链接“a”我愿意 但是,单击“浏览器后退”按钮时,浏览器实际上正在重新加载上一页的整个页面。 我试着吃爆米花,但还是不走运。它会像我的ajax加载一样重新加载页面 window.onpopstate = function(e){ e.preventDefault(); //ajax load

目前我有一个页面(RubyonRails应用程序),我永远不想完全重新加载页面。所有链接都是ajax部分页面加载。我正在使用history.pushState api在用户导航时相应地更改url

点击一个链接“a”我愿意

但是,单击“浏览器后退”按钮时,浏览器实际上正在重新加载上一页的整个页面。 我试着吃爆米花,但还是不走运。它会像我的ajax加载一样重新加载页面

window.onpopstate = function(e){
e.preventDefault(); 
//ajax load previous link
}
如何防止浏览器按“后退”按钮操作,并使用自定义功能进行页面加载

编辑:我注意到一个有趣的行为是当我做同样的事情时

history.pushState({}, null, 'a')
在一个简单的html页面上,单击后退按钮实际上不会尝试重新加载整个页面。不知道我的网站为什么会这样

history.pushState({}, null, 'a')