2017-03-12 8 views
0

ために元のURLを保管してください。は、私は次の関数を使用しpushstate

上記の関数を最初のAjaxの完了時にpushStateはジョブを行いますが、次のAjaxの完了時にpushState decodedUri2は変更されたURLから置き換えようとしますが、元のurlを変更して結果をpushStateするたびに必要です。それは可能ですか?

これを達成するためのアイデアはありますか?

ありがとうございました!

EDIT: 質問の言い換え。 Ajaxが完了するたびに、いくつかの属性がURLに追加され、それらの属性を置き換える必要があります。そして、それぞれのAjaxリクエストでも同じです。だから、実際には、Ajaxの補完が完了するたびに何とかして、Ajaxの完了後に元の状態から現在のURLをpushStateする必要があります。

http://ocdemo.eu/desktops

URLがajaxで変更されるたびに、左側の列からフィルタを選択すると、だから、あなたが変数にそのURLをキャプチャし、それを使用する必要があります、私は示すURLは何か他のもの

答えて

0

と交換する必要があるたび:

var initialUrl; 

$(document).ajaxComplete(function() { 
    var currenturl = window.location.href; 
    if (!initialUrl) { 
     initialUrl = decodeURIComponent(currenturl); 
    } 

    var decodedUri2 =initialUrl.replace("&manufacturer[]=","/").replace("&page=","/").replace("&sort=","/").replace("&order=","/"); 
    history.pushState("", "", decodedUri2); 

}); 
+0

は、私はちょうどあなたのコードを使用しますが、多分それは私のせいだったと質問を言い換える必要があります。 Ajaxが完了するたびに、いくつかの属性がURLに追加され、それらの属性を置き換える必要があります。そして、それぞれのAjaxリクエストでも同じです。だから、実際には、Ajaxの補完が完了するたびに何とかして、Ajaxの完了後に元の状態から現在のURLをpushStateする必要があります。たとえば、http://ocdemo.eu/desktopsを参照してください。 urlがajaxで変更されるたびに、左の列からフィルタを選択します。だから私は、表示されたURLを別のものに置き換える必要があるたびに – PanBou

関連する問題