JavaScript编辑URL像facebooks重写没有哈希#

时间:2011-12-14 18:01:09

标签: javascript ajax facebook hash url-rewriting

你必须使用哈希来编辑网址,但是facebook怎么不使用哈希并仍然改变网址?

所以我正在写一个新的照片库。我需要能够烫发链接每张照片,同时明显改变图像。

我的想法是使用url哈希,所以如果删除哈希,它仍然是一个perm链接,例如:

#?pid=1212918

然后我想让我检查一下facebook是如何做到这一点的,以及我的震惊恐怖,他们没有使用哈希并仍在重写所有内容:O

无论如何,有人知道如何做到这一点吗?

[编辑]在查看ie(非html5,至少是可怜的)后,我看到他们仍在使用哈希。所以如果有人使用哈希访问网站,他们正在使用重写服务器端?

1 个答案:

答案 0 :(得分:1)

随着更多的研究和这个问题的帮助:P。答案是:

您只能使用HTML5执行此操作,因此只有新的浏览器才支持此功能。查看PushState / ReplaceState / PopState和https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history对于支持此HTML5状态功能的HTML5和HTML4兼容项目,请查看https://github.com/browserstate/History.js: - )