为hashbang URL验证noscript网站内容


Proving noscript website content for hashbang URL

最近谷歌宣布将推出对_escape_frage的支持。这是谷歌用来获取网站"静态"内容的一个功能,如果它的URL中有hashbang(#!)。

因此,现在谷歌建议在JS版本的网站上为没有JS的用户和谷歌机器人提供一个静态的非JS版本。

因此,当人们访问例如网站test.com/#时/项目/2

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

但既然hashbang没有发送到服务器,我怎么知道我需要为项目2生成一个静态网站?

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

你不能,但谷歌不是这么说的。

您不应该使用hashbang,而应该使用pushState和History API的其余部分。

这将使您拥有类似http://test.com/item/2的URL。

如果有人访问http://test.com/item/2,那么您的服务器应该以访问http://test.com/item/1时的状态生成页面,然后触发将其转换为http://test.com/item/2的JavaScript事件。

根本不需要使用noscript