为hashbang网址

时间:2015-10-30 17:21:29

标签: javascript php html

最近谷歌宣布将推出对_escape_fragment的支持。如果网站中存在hashbang(#!),Google就会使用这个功能来获取网站的“静态”内容。

所以现在谷歌建议为JS版本的网站提供静态的非JS版本,为没有JS的用户和谷歌机器人提供相同的方式。

所以当人们访问例如网站test.com /#!/ item / 2

我应该生成一个JS版本的网站,并在noscript标签中生成一个非JS版本。确定。

但由于hashbang没有发送到服务器,我怎么知道我需要为第2项生成静态网站?

所以我的问题是:如何在hashbang url scheme网站上为无JS用户提供静态内容。

1 个答案:

答案 0 :(得分:1)

你做不到,但这不是谷歌所说的。

您应该使用pushStatehashbangs的其余部分,而不是使用the History API

这会让您拥有http://test.com/item/2这样的网址。

如果有人访问http://test.com/item/2,那么您的服务器应该生成该网页,如果他们访问了http://test.com/item/1,那么该网页就会处于该状态,然后会触发将其转换为http://test.com/item/2的JavaScript事件

根本不需要使用noscript