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

JavaScript editing the URL like facebooks rewriting without hash #

本文关键字:哈希 重写 facebook 编辑 URL JavaScript      更新时间:2023-09-26

你必须使用散列来编辑url,但是facebook怎么能不使用散列而仍然改变url呢?

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

我的想法是与url散列,所以如果散列被删除,它仍然是一个烫发链接,例如:

#?pid=1212918

然后我想让我看看facebook是怎么做的,让我震惊的是,他们没有使用哈希,还在重写一切:O

不管怎样,有人知道这是怎么做到的吗?

[edit]在看ie(非html5,至少特别是)我看到他们仍然在使用哈希。所以如果有人用哈希访问网站他们会使用重写服务器端?

所以通过更多的研究和这个问题的帮助:p。答案是:

你只能在HTML5上这样做,所以只有新的浏览器才会支持这个。查看PushState/ReplaceState/PopState和这里https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history对于支持HTML5状态功能的HTML5和HTML4兼容项目,请查看https://github.com/browserstate/History.js:-)