【问题标题】:window.location.hash - what is it, and its use cases?window.location.hash - 它是什么,以及它的用例?
【发布时间】:2013-07-30 14:15:25
【问题描述】:

我已经开始涉足 Web 开发,并且遇到了 document.location.hash。我知道哈希对我来说是什么,这听起来像是整个文档的哈希值,可能用于比较页面,缓存?一个著名的网站给出了这样的解释:

定义和用法 hash 属性返回 URL 的锚点部分,包括井号 (#)

锚点是文档中的一个位置,如果我理解正确,程序员可以在该位置创建链接?

我在一些与安全相关的脚本中也遇到了 document.location.hash 的这种用法,并且我在堆栈溢出中看到了问题,它使用但从未真正关注过,因此没有得到详细解释。

那么这到底是什么?它在哪里使用?如果存在,还请举一些一般用户案例的例子

【问题讨论】:

  • 哈希只不过是一个字符串。它通常与页面上的位置相关,但它也可以存储数据。
  • W3C on location.hash: "如果...当前位置有fragment identifier,那么[window.location]的hash属性的值必须是哈希标记的字符串拼接(#) 和片段标识符。"

标签: javascript jquery


【解决方案1】:

hash 出现在 URL 的末尾,用作文档中的书签。

例如http://en.wikipedia.org/wiki/Hyperlink#Hyperlinks_in_HTML

来自维基百科

超链接在 HTML 中的工作原理

从一个域到另一个域的链接被称为从其源锚点出站并入站到其目标。

最常见的目标锚点是万维网中使用的 URL。这可以指一个文件,例如网页或其他资源,或网页中的某个位置。 后者是通过在 HTML 文档的该位置具有“name”或“id”属性的 HTML 元素实现的。位置的 URL 是网页的 URL,附加了片段标识符“#id 属性”。

附:请注意,当单击 Wikipedia 文章的链接时,页面如何“跳转”到特定部分?这是通过指定hash

【讨论】:

    【解决方案2】:

    From MDN window location

    散列

    URL 中 # 符号之后的部分,如果有的话, 包括# 符号。如果 url 不包含 # 或,则为空字符串 # 之后没有任何内容。你可以监听 hashchange 事件 在支持的浏览器中收到有关哈希更改的通知。

    它基本上是用来链接到页面的各个部分的。看看这个链接:...t-in-general/17949617#17949617 它通过#17949617 链接到我的答案它与具有匹配 id 的页面上的the anchor 连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2011-06-18
      • 1970-01-01
      • 2020-08-06
      • 2022-08-13
      相关资源
      最近更新 更多