2016-06-29 2 views
1

URLが変更されるたびにこの関数を呼び出す方法は?URLが変更されるたびにJQueryをリロードする方法は?

$(document).ready(function() { 
    console.log("URL change!"); 
}); 

私はのような何かをしようと、それは動作しません:

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

これは、擬似レディハンドラの目的ではありません。とにかくあなたのコードがうまくいくのでXY問題のように見えるので、何をしようとしていても、あなたの問題は別の場所にあります –

+0

例を追加して、URLを追跡する方法を理解し、それ。私の答えをチェック:) –

答えて

0

あなたが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イベントを確認したい場合は今、あなたは、次のことができ

、あなたがあなたの代わりにcookieを使用する場合があります以前のURLを追跡したい場合なhashchangeはjQueryのモバイル

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

$(window).hashchange(); 

のためにではあるが。

ご質問についてURLを変更するたびにJQueryを再読み込みするにはどうすればよいですか? jQueryはすべてのページが読み込まれるので、URLからハッシュを知りたいだけで、ハッシュ値でいくつかのことをしたい場合は、最初の例では仕事をします:)

1

"古い" URLを保存する必要がありますクッキー:

$(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が変更されることです。

関連する問題