【发布时间】:2011-07-04 13:08:24
【问题描述】:
我正在尝试在不重新加载的情况下修改页面中的内容。目前我的代码如下:
window.onpopstate = function(event){
// Ajax Request the Page and replace content with new content
};
这在我推送一个状态然后触发 popstate 事件时有效,但如果我在浏览器中按下后退按钮,它会导航到 url 而不是调用我的 onpopstate 事件。如何防止页面刷新并改为使用我的 ajax 调用更新页面?
edit:我正在尝试使用 pushState 和 popstate 进行更新。我希望保持我的网址无哈希。
【问题讨论】:
-
你的“onpopstate”函数是返回
false还是在返回之前对事件对象调用“.preventDefault()”? -
(其实只是返回
false可能不行。) -
我尝试返回 false,但它没有做任何事情。
-
我遇到了相反的问题:当我按下后退按钮时,它既不会导航到 URL,也不会调用 onpopstate!
标签: javascript jquery html history