在 URL 中使用 Hash(#)
Posted
技术标签:
【中文标题】在 URL 中使用 Hash(#)【英文标题】:Usage of Hash(#) in URL 【发布时间】:2014-03-17 23:44:42 【问题描述】:我想知道除了作为 URL 中的锚点之外,还有没有其他用途。我在这里读到了 getting the full url including query string after hash 。 客户端的状态信息是什么?请帮忙。
【问题讨论】:
url末尾的#
指定html
元素的id。
Fragment_identifier
如果您向下滚动此页面并单击任何评论上的发布时间会发生什么?密切关注 URL 变化和行为。
【参考方案1】:
散列值也可用于单页应用程序,因此您可以使用散列值作为在页面之间导航的一种方式,而不是使用它来导航到页面中的某个点。这样做的好处是不需要刷新页面。
还有一种叫做 hashbanging 的方法,它用于单页应用程序,用于帮助 ajax 应用程序更具索引性。
有几篇关于这个主题的好文章
https://github.com/browserstate/history.js/wiki/Intelligent-State-Handling http://danwebb.net/2011/5/28/it-is-about-the-hashbangs https://developers.google.com/webmasters/ajax-crawling/【讨论】:
+1,很好的回复!https://mail.google.com/mail/u/0/#inbox
中的 #inbox
是一种无需刷新页面即可在页面之间导航的方法吗?它是在服务器还是客户端(网络浏览器)上实现的?【参考方案2】:
考虑一页网站,或完全基于 AJAX 构建的网站,无需重新加载任何页面。
#
hash 帮助此类应用程序将应用程序的状态推送到客户端,这有助于应用程序本身了解状态,并帮助客户端(和浏览器)了解状态。这也将帮助用户将应用程序的当前状态添加为书签,并使用后退和前进按钮(浏览器历史记录)。
【讨论】:
那里有这样的网站吗? @Naman 如果您对您的问题有任何通知或新答案,*** 将使用#
片段标识符 突出显示它。
@Naman 也看看这个template。我认为它主要用于企业应用程序(例如 Intranet)或网站后端。
@pilot yashhy 和片段标识符不一样吗?
@Naman # (hash, anchor, state) 也将在 ? 之后,但作为参数一部分的所有哈希 (#) 都将被 url 编码(将变为 %23
)。我不确定你的情况,这取决于用例,但你可以自己尝试,并通过工作示例在 cmets 中告诉我。以上是关于在 URL 中使用 Hash(#)的主要内容,如果未能解决你的问题,请参考以下文章