Javascript 使用pushState时如何“返回浏览器”?

Javascript 使用pushState时如何“返回浏览器”?,javascript,pushstate,Javascript,Pushstate,我有以下代码: window.history.pushState(newUrl, "", newUrl); 我的问题是,如何确保在执行pushState操作时,浏览器返回按钮将正常工作,或者换句话说,应该返回 不使用jQUery的情况下,push用于推。。。添加 你应该回到历史上来 如果要在窗口上发出popState事件或执行history.replaceState 如果要取消已评论事件: 我的回答就行了 推就是为了推。。。添加 你应该回到历史上来 如果要在窗口上发出popState事件或执行

我有以下代码:

window.history.pushState(newUrl, "", newUrl);
我的问题是,如何确保在执行pushState操作时,浏览器返回按钮将正常工作,或者换句话说,应该返回


不使用jQUery的情况下,push用于推。。。添加

你应该回到历史上来

如果要在窗口上发出popState事件或执行history.replaceState

如果要取消已评论事件: 我的回答就行了
推就是为了推。。。添加

你应该回到历史上来

如果要在窗口上发出popState事件或执行history.replaceState

如果要取消已评论事件: 我的回答就行了

后退按钮的正常行为是浏览器返回到上一个文档,但使用pushState时,没有上一个文档

pushState的要点是在更新URL时使浏览器保持在同一文档上。这伴随着使用JavaScript应用的DOM更改

这是一个进入新页面的模拟

要使“后退”按钮看起来正常工作,您需要编写一个与转到上一页相匹配的模拟

你可以通过倾听来做到这一点


“后退”按钮的正常行为是浏览器返回到上一个文档,但使用pushState时,没有上一个文档

pushState的要点是在更新URL时使浏览器保持在同一文档上。这伴随着使用JavaScript应用的DOM更改

这是一个进入新页面的模拟

要使“后退”按钮看起来正常工作,您需要编写一个与转到上一页相匹配的模拟

你可以通过倾听来做到这一点


什么意思?为什么它不能正常工作?或者你的意思是你想使用?不,我的意思是当用户按下后退按钮时,它不会返回到上一个page@xybrek如果用户按下浏览器返回按钮,为什么它不返回?你的浏览器有缺陷吗?@黑色-因为他们正在使用pushState!什么意思?为什么它不能正常工作?或者你的意思是你想使用?不,我的意思是当用户按下后退按钮时,它不会返回到上一个page@xybrek如果用户按下浏览器返回按钮,为什么它不返回?你的浏览器有缺陷吗?@黑色-因为他们正在使用pushState!不,我的意思是当用户按下后退按钮时,它不会返回到上一页不,我的意思是当用户按下后退按钮时,它不会返回到上一页
Page <span id="p">1</span>

<button>Next</button>

<script>
document.querySelector("button").addEventListener("click", function () {
  document.getElementById('p').textContent++;
  history.pushState({}, "", "/" + document.getElementById('p').textContent);
});

addEventListener("popstate", function (e) {
  document.getElementById('p').textContent--;
  e.preventDefault();
});
</script>