这是SWFAddress修复的问题。但实际上,我想编写自己的解决方案来消除许多未使用的功能。说明如下:
您可以使用以下代码获取此链接的哈希值,如xxx.xxx.com /?#/ DeepLinking /
window.location.hash
使用href='#tab1
等锚标签。和Javascript,你可以做深层链接工作。每当哈希值发生变化时,我都可以为用户提供不同的内容。
使用后退按钮和window.location.hash
时会出现问题。在除IE之外的其他浏览器中,如果使用后退按钮返回到先前的哈希符号状态,则window.location.hash
将返回正确的值。在IE中,它不会返回当前的哈希值,而是返回按下任何“后退”按钮之前的哈希值。
我看到了一个iframe修复,但我不确定它究竟是如何工作的?请提供框架无关的解决方案。谢谢!
答案 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。