【发布时间】:2019-03-20 16:11:20
【问题描述】:
我正在使用 JavaScript 加载页面,我想将加载的页面推送到历史记录中。
这意味着当点击返回按钮时,会加载推送的页面。
我不是在刷新页面,而是通过 JavaScript 加载它。
我已经尝试过history.pushState(),但是点击返回后,它没有返回任何东西。
推送历史和写入后可以使用一次:
window.onpopstate = function() {
// do something
}
但是,我不能再使用它了。
可能是我误会了window.onpopstate...
【问题讨论】:
-
执行此操作的“简单”方法是在基本页面 url 之后使用哈希片段。这些将自动保存到历史记录中,并且不需要对后退按钮进行任何修改。然后您可以使用 onhashchange 事件通过 javascript 监听 url,从而加载正确的页面。
-
@Shilly 我没听明白,你能解释一下吗?
-
你能先澄清一下你在做什么吗?您有一个使用 javascript 更新的 HTML 页面? (单页应用程序)或者您有几个单独的 HTML 页面,您可以通过超链接导航? (基本的多页应用程序)我假设您有一个单页应用程序,因为您提到您没有刷新任何内容。
-
@Shilly 我有 1 个 php 文件,我正在 div 中加载其他文件
标签: javascript browser history back