在不更改 url 的情况下注入新的历史记录条目。就像谷歌地图一样

发布于 2024-09-16 03:40:21 字数 332 浏览 7 评论 0原文

我正在尝试找到不破坏 javascript 应用程序中的后退按钮的最佳方法。

在我的研究中,我试图了解最先进的技术是什么。所以我转向谷歌地图看看它是如何工作的。

它确实具有后退/前进功能,但在生成新的历史记录条目时不会更改 url。尝试访问 http://maps.google.com/,输入 NY 并按 Enter 键。现在使用后退按钮。没有改变网址。

他们是如何做到这一点的?我试图弄清楚这一点,但我很难浏览有关 javascript 历史和 IE6 技巧的过时文档。

I'm trying to find the best approach not to break the back button in my javascript application.

In my research I'm trying to see what the state of the art is. So I turned to google maps to see how it works.

It does have back/forward functionality, but it doesn't change the url when generating a new history entry. Try to go to http://maps.google.com/, type NY and press enter. Now use the back button. No url change.

How do they do this? I tried to figure it out but I have a hard time wading through outdated documentation about javascript history and IE6 tips.

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

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

发布评论

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

评论(3

撩人痒 2024-09-23 03:40:21

创建新的历史记录条目:

location.hash = 'new_history_entry';

创建无历史记录条目:

location.replace('http://no/new/history/entry');

Google 地图正在使用框架。要验证它,请运行 HttpFox。您将得到一个包含 javascript 的 HTML 页面。
你可以自己分析它,或者相信我它可以与框架一起使用。

Create a new history entry:

location.hash = 'new_history_entry';

Creating no history entry:

location.replace('http://no/new/history/entry');

Google maps is using frames. To verify it, run HttpFox. You'll get a HTML page with javascript in it.
You can analyse it on your own, or just believe me that it works with frames.

血之狂魔 2024-09-23 03:40:21

Lekensteyn 的答案不会在 IE6 中添加后退/前进按钮,您需要一个框架。 jQuery History 如果浏览器支持 onhashchange 事件(所有现代浏览器都支持),则不会添加所需的适当的向后支持(ie6 需要 iframe,firefox 1,ie7 等只需要间隔检查)。

Lekensteyn's answer will not add the back/forward buttons in IE6, you need a frame for that. jQuery History uses the onhashchange event if the browser supports it (all modern browsers do) if not it will add the appropriate backwards support needed (ie6 needs iframes, firefox 1, ie7 etc just need interval checks).

傻比既视感 2024-09-23 03:40:21

YUI 浏览器历史记录管理器 这样的东西就可以做到

Something like YUI Browser History Manager will do it

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