提问人:debeon 提问时间:6/11/2023 更新时间:6/11/2023 访问量:47
history.pushState:后退按钮,直到“第一个”条目处的历史记录,然后是默认的后退按钮行为
history.pushState: Back button until history at "first" entry, then default back button behaviour
问:
我想在没有框架的情况下使用 javascript 和 AJAX 构建一个无重新加载的页面导航。这是否是一个好主意并不重要,因为这个项目是为了演示,这确实是可能的:)
我以前做过,但对我来说,再也想不通怎么做了。
理想情况下,我想要一个工作原理如下的解决方案:
一个函数,我们将其命名为 display() 用于此目的,它采用一个名为“id”的参数。
然后,此 id 参数将传递给分别传递内容的 ajax 请求,并使用 pushState 将 URL 更新为新地址,例如从 / 到 /faq,其中 id 为 'faq'。
然后,如果再次调用 display,这次是 id 的“browse”,AJAX 会为其请求数据并将 URL 设置为 /browse。
现在的问题是,我希望页面能够来回浏览这些页面,每次触发新的 AJAX 调用并相应地调整 URL,但是如果您返回 /(这将是此页面上的第一个元素),后退按钮现在应该运行正常,并允许用户将页面留给引用它的页面(但不使用引用站点)。我有一个概念脚本,但是它“困住”了用户在我的页面上,因为一旦历史记录为空,网站将不做任何事情,用户将卡在/或第一页上。
有人可以帮忙吗?
我尝试附加一个 popstate 侦听器,该侦听器仅在历史记录包含元素时才会生效,但我没有设法让它正常工作,用户仍然被困住了。
我设法让页面加载了数据和随之而来的 pushState 条目,它将正确更新 URL,但是后退按钮让我非常头疼:')
答: 暂无答案
评论