2012-11-03 53 views

回答

1

其目的是使AJAX页面可以被抓取。谷歌。

通常情况下,网址中的散列背后的所有内容都与抓取工具无关,并且根本不会发送到服务器。在AJAX应用程序中,它过去主要用于在浏览器地址栏中“模拟”真实的URL(现在人们通常使用history.pushState)。

恢复过来不是强麦执行完整的JavaScript应用程序的限制,谷歌发明了基本规定,如果遇到包含hashbang一个URL像

http://example.com/foo#!key=value 

它可以将其转化为

协议
http://example.com/foo?_escaped_fragment_=key=value 

并将其发送到服务器。然后,服务器将返回页面的表示形式,因为它将在JavaScript应用中显示。最后,这只是一个让这些应用可抓取的惯例。

有关更多信息,请参阅Google的documentation on the topic

1

这是因为hashbang /认领(#!)是用于索引AJAX页面谷歌计划:“AJAX 抓取”

当您的网站采用了该方案,将被视为这意味着如果您的网站提供HTML快照,抓取工具将会看到您的 应用的内容。

有关Google Developers的更多信息。

相关问题