我一直想知道如何使用网址中的#
或#!
即时浏览网页。像Google这样的许多网站都在http://www.google.com/nexus/上使用它,当用户点击任何链接时,没有任何变化,事情会立即打开,只有网址更改,例如:www.example.com/#contact
或www.example.com/#home
如何使用我的8个页面执行此操作? (主页,功能,价格,联系方式,支持)
答案 0 :(得分:4)
您可能需要查看基本的AJAX教程(例如http://marc.info/?l=php-general&m=112198633625636&w=2)。 URL使用的真正原因#!是让它们被谷歌索引。如果您希望Google将AJAX网址编入索引,则必须实施对_escaped_fragment_的支持(请参阅:http://code.google.com/web/ajaxcrawling/docs/specification.html)。
答案 1 :(得分:2)
使用它的唯一原因是在URL中显示AJAX增强页面的状态。这样,您可以复制并将网址加入书签以返回相同的状态。
较旧的浏览器不允许您更改地址栏中的网址而不重新加载网页。最新的浏览器(搜索PushState
)。要解决此问题,您可以更改网址的哈希值。这是通常用于跳转到锚点的部分,但您可以使用JavaScript将其用于其他目的。
此过程并非严格必需!
。 !
由Google实施。它允许对这些网址进行索引。通常,散列不会单独编制索引,因为它们只标记同一页面(锚点)的不同部分。但是,通过添加!
,您可以创建shebang
或hashbang
, 由Google编制索引。
如果不解释这里的所有内容,在搜索Ajax,HashBang和PushState时应该会找到很多信息。
补充:检查History.js。它是PushState api的包装器,可以回溯到在旧版浏览器上使用哈希值。