History.js 书签支持

发布于 2024-12-25 10:56:24 字数 389 浏览 1 评论 0原文

我使用history.js更改浏览器的历史状态。假设我使用这段代码:

History.pushState({someState:2}, null, "?someState=2");

绑定到 statechange 事件,很容易根据 History.state.data 的内容更改页面,但是当页面最初加载时(当有人保存 url 时)未设置 History.state例如在书签中)。所以我想在这种情况下我应该使用查询字符串(URL 的 ?someState=2 部分)。当使用“HTML4 浏览器”的后备时,我想我必须使用 URL 的哈希部分。我的问题:history.js 是否提供了一种简单的方法来完成这一切,或者它真的只适用于历史记录,而不适用于书签?

我希望问题很清楚..

I change the history state of the browser using history.js. Let's say I use this code:

History.pushState({someState:2}, null, "?someState=2");

binding to the statechange event, it is easy to change the page based on the contents of History.state.data, but History.state is not set when the page is loaded initially (when someone saves the url in a bookmark for example). So I guess I should use the query string in that case (the ?someState=2 part of the URL). When using a fallback for 'HTML4-browsers', I guess I'll have to use the hash part of the URL. My question: does history.js provide an easy way to do all this, or is it really only for history, not for bookmarks?

I hope the question is clear..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

各自安好 2025-01-01 10:56:24

您尝试过 History.getState() 吗?

Have you tried History.getState() ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文