【问题标题】:Usage of Hash(#) in URL在 URL 中使用 Hash(#)
【发布时间】:2014-03-17 23:44:42
【问题描述】:

我想知道除了作为 URL 中的锚点之外,还有没有其他用途。我在这里读到了 getting the full url including query string after hash 。 客户端的状态信息是什么?请帮忙。

【问题讨论】:

  • url末尾的#指定html元素的id。
  • 如果您向下滚动此页面并单击任何评论上的发布时间会发生什么?密切关注 URL 变化和行为。

标签: javascript url browser


【解决方案1】:

散列值也可用于单页应用程序,因此您可以使用散列值作为在页面之间导航的一种方式,而不是使用它来导航到页面中的某个点。这样做的好处是不需要刷新页面。

还有一种叫做 hashbanging 的方法,它用于单页应用程序,用于帮助 ajax 应用程序更具索引性。

有几篇关于这个主题的好文章

【讨论】:

  • +1,很好的回复! https://mail.google.com/mail/u/0/#inbox 中的 #inbox 是一种无需刷新页面即可在页面之间导航的方法吗?它是在服务器还是客户端(网络浏览器)上实现的?
【解决方案2】:

考虑一页网站,或完全基于 AJAX 构建的网站,无需重新加载任何页面。

#hash 帮助此类应用程序将应用程序的状态推送到客户端,这有助于应用程序本身了解状态,并帮助客户端(和浏览器)了解状态。这也将帮助用户将应用程序的当前状态添加为书签,并使用后退和前进按钮(浏览器历史记录)。

【讨论】:

  • 那里有这样的网站吗?
  • @Naman 如果您对您的问题有任何通知或新答案,stackoverflow 将使用 # 片段标识符 突出显示它。
  • @Naman 也看看这个template。我认为它主要用于企业应用程序(例如 Intranet)或网站后端。
  • @pilot yashhy 和片段标识符不一样吗?
  • @Naman # (hash, anchor, state) 也将在 ? 之后,但作为参数一部分的所有哈希 (#) 都将被 url 编码(将变为 %23)。我不确定你的情况,这取决于用例,但你可以自己尝试,并通过工作示例在 cmets 中告诉我。
猜你喜欢
  • 2018-12-10
  • 2015-05-14
  • 1970-01-01
  • 1970-01-01
  • 2010-09-22
  • 2022-09-22
  • 2014-10-12
  • 2011-10-26
  • 1970-01-01
相关资源
最近更新 更多