javascript – AJAX应该使用hashtag /#!/还是不使用?

前端之家收集整理的这篇文章主要介绍了javascript – AJAX应该使用hashtag /#!/还是不使用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我制作了一个网址为 @L_301_0@的网址
这是一个非常动态的网页,实际上它是一个网络应用程序.

为了使其尽可能的响应,我想使用AJAX而不是正常的页面请求.这也使我能够使用JavaScript添加一个图层来提供离线功能.

我的问题只有:我该如何使URL?应该是@L_301_0@还是http://www.example.com/#!/module/content

以下只是我在双向的想法.如果您已经清楚地考虑到这一点,您不需要阅读它.

我想使用第一个版本,因为我想支持新的HTML5标准.它很容易使用,URL看起来很漂亮.但更重要的是它允许我这样做:

If the user requests a page,it will get a full HTML page back.

If the user then clicks a link,it will insert only the contents into the container div via AJAX.

这将使无JavaScript的用户使用我的网站,因为它不需要使用JavaScript,它将简单地使用普通的旧的“点击一个链接请求 – 获取完整的html页面返回”-approach.

虽然这很棒,但问题当然是Internet Explorer.只有最后一个版本的IE支持History API,并且要使其在旧版本中工作,需要使用主题标签. (我的用户的50%将使用IE,所以我需要支持…)所以我必须使用/#!/来使它工作.

如果使用这两个URL版本,则会出现问题,如果IE用户将此链接发布到网站,Google将向服务器发送_unescaped_string(或类似的..),并且将使用IE版本对页面进行索引井号.有些页面将不会有标签标签.

而且我们记得,非标签标签在许多不同的事情上是更好的.那么这个搜索引擎的问题可以避免吗?有可能告诉GoogleBot,如果达到网站的主题标签版本,它应该被重定向到网页的非标签版本?这样,可以获得非标签网址的所有好处,并且仍然支持IE6-IE9.

你认为最好的方法是什么?也许你在实践中试过了吗?
感谢您的回答!

解决方法

如果您希望Google索引您的Ajax内容,那么您应该使用#!key =值.那就是 Google prefers为Ajax导航.

如果你真的喜欢漂亮的HTML5网址没有#!那么,是的,你可以同时支持无索引的问题!只需添加

<link rel="canonical" href="preferredurl" />

到< head>每个页面的部分(初始加载),以便帮助Google知道您希望使用哪个版本的URL.阅读更多关于canonical urls here.

猜你在找的Ajax相关文章