后退按钮在IE中启用了深层链接

时间:2010-02-18 01:05:22

标签: javascript html

这是SWFAddress修复的问题。但实际上,我想编写自己的解决方案来消除许多未使用的功能。说明如下:

您可以使用以下代码获取此链接的哈希值,如xxx.xxx.com /?#/ DeepLinking /

window.location.hash

使用href='#tab1等锚标签。和Javascript,你可以做深层链接工作。每当哈希值发生变化时,我都可以为用户提供不同的内容。

使用后退按钮和window.location.hash时会出现问题。在除IE之外的其他浏览器中,如果使用后退按钮返回到先前的哈希符号状态,则window.location.hash将返回正确的值。在IE中,它不会返回当前的哈希值,而是返回按下任何“后退”按钮之前的哈希值。

我看到了一个iframe修复,但我不确定它究竟是如何工作的?请提供框架无关的解决方案。谢谢!

2 个答案:

答案 0 :(得分:0)

我会看一下YUI 2: Browser History Manager。浏览其来源,了解他们是如何做到的。

编辑:或者查看Google的Closure Library中的history.js

答案 1 :(得分:0)

查看History.js http://github.com/browserstate/history.js - 它与框架无关,专为较新的HTML5历史记录API而设计,允许您直接修改网址,因此不会产生the issues of hashes