33

我们知道哈希是用于 AJAX 搜索的,但是感叹号呢?有人知道吗?

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

注意: q 的第二部分仍未得到解答:也就是说,他们是将用户从“/search”重定向到“/#!/search”,还是将用户发送到“/search”并在页面上使用 JS重写网址?– Crashalot 1 月 26 日 23:51

谢谢!

4

3 回答 3

31

它已成为 Google 为确保一致性并使 ajax url 可抓取而建立的事实上的标准。

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

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

于 2011-01-19T19:29:17.007 回答
23

是的,它使用 HTTP 302 重定向。

顺便一提, ”!” 用于消除带有空哈希的情况。"http://url#" 将使浏览器滑到顶部。

于 2011-06-14T20:33:26.453 回答
10

然后回答第二部分:它将您重定向到/#!/搜索。

如果您在访问http://twitter.com/britishdev(插头)时查看响应标头,您将返回 302(临时重定向),其中 Location 标头设置为“Location: http://twitter.com/# !/britishdev "

是的,JavaScript 会在目标页面上提取您的所有详细信息,但无论您被重定向到哪里。

于 2011-08-31T13:16:32.690 回答