如何在每次更改URL时重新加载JQuery?

如何在每次更改URL时重新加载JQuery?,jquery,Jquery,如何在每次URL更改时调用此函数 $(document).ready(function() { console.log("URL change!"); }); 我尝试了类似的方法,但不起作用: $(window).on('hashchange', function(e){ $(document).ready(function() { console.log("URL change!"); }); }); 如果需要从url获取哈希值,可以执行以下操作 $(document)

如何在每次URL更改时调用此函数

$(document).ready(function() {
  console.log("URL change!");
});
我尝试了类似的方法,但不起作用:

$(window).on('hashchange', function(e){
  $(document).ready(function() {
    console.log("URL change!");
  });
});

如果需要从url获取哈希值,可以执行以下操作

$(document).ready(function(){
    var hash = window.location.hash;

     //Some condition
     if(hash=="foo"){
        //hash is foo do something

     }else if(hash=="bar"){
        //hash is bar do something

     }else{
        //hash is not foo nor bar : do something
     }
    console.log(hash);
});
如果需要获取完整的url,请改用
window.location.href

$(document).ready(function(){
    var url = window.location.href;
    console.log(url);
});
现在,如果您想检查hashchange事件,您可以执行以下操作,尽管hashchange是针对jQuery mobile的

 $( window ).hashchange(function() {
    var hash = location.hash;
    console.log(hash);
 });

$( window ).hashchange();
如果要跟踪上一个url,可能需要使用
cookie

关于您的问题如何在每次我的URL更改时重新加载JQuery?JQuery在每次页面加载时都会重新加载,因此如果您只想从URL中了解哈希值并使用该哈希值执行一些操作,我的第一个示例将完成以下工作:)

您需要将“旧”URL保存在cookie中:

$(document).ready(function() {
  // read old saved URL
  var oldURL = $.cookie("oldURL");

  // check for URL change
  if (oldURL != window.location.href) {
    console.log("URL change!");
  }

  // save current URL in cookie
  $.cookie("oldURL", window.location.href);
});

唯一的问题是,在第一次调用时,cookie是空的,因此URL更改也将在第一次调用时发生。

好的,这不是伪就绪处理程序的目的。看起来像是XY问题,因为不管怎样,你的代码都可以工作,所以无论你想做什么,你的问题都在其他地方。我添加了一个示例,这样你就可以了解如何跟踪url,并为你更好地理解它添加了一些条件。检查我的答案:)