javascript - 使用不同的 Fragment ID 加载同一页面不会导致页面重新加载?

标签 javascript onload fragment-identifier

基本上,我在页面上有许多链接 - index.html,它们看起来像这样:

  <li><a href="index.html#0">test 0</a></li>
  <li><a href="index.html#1">test 1</a></li>
  <li><a href="index.html#2">test 2</a></li>
  <li><a href="index.html#3">test 3</a></li>

我在 window.onload 事件中附加了一个函数,它将打开一个包含片段 ID 的警告框,所以如果我点击第一个链接,我应该得到一个带有“0”等的警告框。

但是,当我从 URL 栏访问 index.html 并按回车键时,我只会收到一个警告框。当我点击链接时,没有出现警告框。我认为这是因为 window.onload 事件没有被调用...有谁知道如何解决这个问题?

最佳答案

您需要 window.onhashchange 事件,该事件在 anchor 导航时触发 https://developer.mozilla.org/en/DOM/window.onhashchange 对于不支持的 UA,您必须处理 document.links 上的 onclick 事件并确定链接是否指向当前文档(即:只有 link.hash 与 location.href 不同)

关于javascript - 使用不同的 Fragment ID 加载同一页面不会导致页面重新加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061843/

相关文章:

javascript - MVC 部分 View 中的 JQuery/JS?

javascript - 使用 React 从 wordpress api 渲染预转义的 html

javascript - 在应用程序完全加载后,如何将 Google 跟踪代码管理器加载到 next.js 应用程序?

javascript - 在初始页面加载时加载目标 ajax php 文件

javascript - 将片段标识符放入查询参数内

javascript - 单击按钮时触发按键

javascript - 不要通过 Onload 属性显示损坏的图像

javascript - 在不滚动页面的情况下修改 location.hash

javascript - 在帧中设置 location.hash

javascript - 我正在尝试将变量的值存储在 window.onload 上以供以后使用