【问题标题】:Detect URL hash removal检测 URL 哈希删除
【发布时间】:2017-05-24 23:51:47
【问题描述】:

我正在使用 url 中的哈希来浏览页面上的 AJAX 内容 问题是当用户点击返回到没有哈希的点时,我的哈希更改例程没有被触发

如何检测从 mysite.com#page1 到 mysite.com 的时间

我的功能是这个

$(window).on('hashchange', function() {...

点击返回非哈希 URL 时永远不会触发

【问题讨论】:

  • 当您将 assign 分配给 window.location 并且 URL 没有哈希时,它会重新加载页面。所以没有一个事件处理程序运行。
  • 呃?我没有使用 window.location
  • 点击链接也是一样的。如果它包含具有不同哈希的相同 URL,它只会导航到该哈希并触发 hashchange 事件。如果它包含一个没有哈希的 URL,它会重新加载页面。
  • 我没有重新加载页面,我使用 ajax 根据他们单击的链接提供不同的内容并更改页面上的哈希,因此如果刷新页面,则相同的内容是加载而不是默认页面。这不是根据哈希跳转到页面上的内容
  • 如果您不分配给window.location,您将如何更改页面上的哈希?我认为您需要发布更改哈希的代码。

标签: javascript jquery browser


【解决方案1】:

如果您导航到没有哈希的 URL,它会从该 URL 重新加载页面,而不是保持相同的页面并触发 hashchange 事件。

如果您想留在同一页面但没有哈希,请将# 放在 URL 的末尾:

mysite.com/#

【讨论】:

  • 查看我对您上面相同评论的回复。我可以在这里发布网站的链接吗?也许这会让我的意思更清楚
  • 看我对你上面回复的回复
  • 我可以在这里发布网站链接吗?也许这会让我的意思更清楚
  • 如果您在问题中发布代码会更好。对于该问题的所有未来读者来说,这一点需要清楚。
  • 代码没有意义。查看onemovieavenue.com/movies/33-star-wars-episode-iv-a-new-hope - 在 cmets 下单击不同的页面,然后单击返回,它会返回,直到您点击没有哈希的 url。代码在底部的查看源代码中。我正在根据点击的页面或评论设置哈希
猜你喜欢
  • 2011-05-29
  • 2012-04-19
  • 2010-12-31
  • 1970-01-01
  • 2013-05-15
  • 2013-03-02
  • 2016-09-23
  • 1970-01-01
相关资源
最近更新 更多