3

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

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

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

他们怎么做到的?我试图弄清楚,但我很难翻阅有关 javascript 历史和 IE6 提示的过时文档。

4

3 回答 3

4

创建一个新的历史条目:

location.hash = 'new_history_entry';

不创建历史条目:

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

谷歌地图使用框架。要验证它,请运行 HttpFox。您将获得一个包含 javascript 的 HTML 页面。您可以自己分析它,或者相信我它适用于框架。

于 2010-08-25T16:25:50.370 回答
1

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

于 2010-09-18T11:47:59.497 回答
0

YUI 浏览器历史管理器这样的东西会做

于 2010-08-25T18:02:41.493 回答