在许多网站上,我在地址栏中看到了www.domain.org/#!/topic/item
等网址。例如,新推特将URL更改为。
我知道在HTML中使用目标时哈希的作用:www.domain.org/page.html#topic3
将浏览器视口移动到锚点<a name="topic3">
。
此外,我认为此URL方案解决了在具有动态加载内容的页面上的地址栏中始终具有正确URL的问题。
但是如何...
感谢您的帮助!
答案 0 :(得分:3)
Twitter和一些热门网站在地址中使用哈希的原因是,它使网站能够在使用Ajax动态加载的内容上使用“后退”和“前进”按钮。你不必在服务器端做任何事情,诀窍是在客户端捕获地址变化。
有一个流行的jQuery插件叫做jQuery History。 - http://tkyk.github.com/jquery-history-plugin/为您完成工作,但您必须使用Ajax从服务器加载内容并将其显示在您网站的某个容器中。
一个注意,!哈希旁边是一种让搜索引擎能够抓取您的网站的方法。有关http://code.google.com/web/ajaxcrawling/docs/getting-started.html
的更多信息答案 1 :(得分:0)
您通常采取的是window.location.hash
,并在AJAX请求中将其作为参数传递给服务器。
有window.onhashchange
事件可以找出它何时被更改(因此何时发出新的AJAX请求),但并非所有浏览器都实现它,所以现在你最好只写一个连续的javascript间隔检查散列是否已更改。
答案 2 :(得分:0)
正如您所说,它们被动态网页使用。有很多方法可以在服务器端处理这样的url请求。 带有感叹号的表格用于SEO我相信。
请参阅http://code.google.com/intl/de-DE/web/ajaxcrawling/docs/specification.html。