首页 > 解决方案 > 如何使用 popstate 捕获 URL 更改?

问题描述

我想在本地站点上捕获 URL 更改,例如:

http://myexample.com/

更改为:

http://myexample.com/foobar

我可以拦截更改并foobar使用 AJAX 加载。

所以我写了这个:

window.onpopstate = function (event) {
  console.log(event)
  history.pushState(42, '', "#baseState");
}

当我测试时,我得到了这个事件:

http://myexample.com/#hello-world

但如果我这样做:

http://myexample.com/foobar

我的浏览器仍然向服务器发出请求以加载 foobar,当然我收到 404 错误。

我怎样才能解决这个问题?

标签: javascriptpopstate

解决方案


推荐阅读