2011-01-19 86 views
32

我们理解的哈希是AJAX搜索,但感叹号?有人知道吗?Twitter为什么在网址中使用哈希和感叹号,他们如何重写搜索网址?

此外,“行动”属性的搜索表单点“/搜索,”但是当你进行搜索,哈希感叹号出现在URL。他们只是从“/ search”重定向到“/#!/ search”?

注:的q的第二部分仍然没有答案:那就是,他们在重定向从“/搜索”用户“!/#/搜索”,还是他们向用户发送到“/搜索”并使用页面上的JS来重写URL? - Crashalot 1月26日在23:51

谢谢!

+0

可能重复的[Facebook中有什么是shebang/hashbang(#!)和新的Twitter URL?](http://stackoverflow.com/questions/3009380/whats-the-shebang-hashbang-in-facebook-和新的Twitter的URL换) - 至少第一部分反正 – BoltClock 2012-04-16 17:59:22

回答

30

它已经成为事实上的标准,谷歌已经建立,以确保一致性,使AJAX网址抓取。

http://code.google.com/web/ajaxcrawling/docs/getting-started.html

我相信他们正在使用history.pushState。您可以在控制台中执行history.back(),它会将您引导回页面。

+1

其实,我意识到问题的第二部分,仍然没有答案。也就是说,他们将用户从“/ search”重定向到“/#!/ search”,还是将用户发送到“/ search”并在页面上使用JS来重写URL? – Crashalot 2011-01-26 23:51:32

23

是的,这与HTTP 302

重定向顺便说一句, “!”用于消除空散列的情况。 “http:// url#”将使浏览器滑动到顶部。

+1

,也为这个 http://code.google.com/web/ajaxcrawling/docs/getting-started.html – Ergec 2011-07-14 12:11:39