1

#我一直想知道如何使用 URL或#!在 URL中即时浏览页面。许多像谷歌这样的网站都在http://www.google.com/nexus/上使用它,当用户点击任何链接时,没有任何变化并且事情会立即打开,只有 URL 发生变化,例如:www.example.com/#contactwww.example.com/#home

我怎样才能用我的 8 个页面做到这一点?(主页、功能、价格、联系方式、支持)

4

2 回答 2

4

您可能想查看基本的 AJAX 教程(例如http://marc.info/?l=php-general&m=112198633625636&w=2)。URL 使用 #! 的真正原因 是让他们被谷歌索引。如果您希望 Google 将 AJAX 化的 URL 编入索引,则必须实现对 _escaped_fragment_ 的支持(请参阅:http ://code.google.com/web/ajaxcrawling/docs/specification.html )。

于 2011-08-29T21:22:25.977 回答
2

使用它的唯一原因是在 url 中显示 AJAX 增强页面的状态。通过这种方式,您可以复制 URL 并将其添加到书签以恢复到相同的状态。

旧版浏览器不允许您在不重新加载页面的情况下更改地址栏中的 url。最新的浏览器可以(搜索PushState)。要解决此问题,您可以更改 url 的哈希值。这是通常用于跳转到锚点的部分,但您可以使用 JavaScript 将其用于其他目的。

对于此过程,这!不是绝对必要的。由!谷歌实现。它允许对这些 url 进行索引。通常哈希不会单独索引,因为它们仅标记同一页面(锚点)的不同部分。但是通过添加!,您创建了一个shebangor hashbangGoogle 索引了。

这里不一一解释,当你搜索 Ajax、HashBang 和 PushState 时,你应该会发现很多信息。

补充:检查History.js。它是 PushState api 的包装器,它回退到在旧浏览器上使用散列。

于 2011-08-29T21:27:00.113 回答