1

我知道有很多插件可以存档这个,但我想我想制作一个简单的用于学习目的,因为我已经走到了这一步,我可以location.hash在加载 ajax 页面时更改 url。

现在我只需要找出 - 当我点击浏览器上的后退按钮时,如何使用简单的 jquery 来检查 url 上是否有片段?

我遇到了这个简单的概念,但它只有在我点击浏览器刷新按钮而不是后退按钮时才有效,

$(document).ready(function(){    

if(window.location.hash) {

    // Fragment exists

    var hash = location.hash;
    alert(hash);

  } else {
    // Fragment doesn't exist
  }

});

你能给我一些指导吗?

谢谢。

4

2 回答 2

0

您正在寻找hashchange事件。但是旧浏览器不支持它,这就是所有插件都存在的原因。查看 Ben Alman 的 hashchange 事件插件的代码,看看它如何支持不同浏览器的所有有趣的怪癖:

https://github.com/cowboy/jquery-hashchange/blob/master/jquery.ba-hashchange.js

于 2011-06-28T03:06:50.753 回答
0

JQuery 也有一种为旧浏览器模拟 hashchange 事件的方法——基本上它通过轮询 URL 来工作。您可能还想考虑如何处理重定向,例如用于身份验证)请参阅http://tshrestha.blogspot.com/2013/05/hash-bang-url-fragments-and-http.html

于 2013-05-12T05:01:03.860 回答