私はフィルター付きの電子ショップを持っています。誰かがフィルタを使用すると、AJAXによってURLが変更されます。最初のURLを使用してhistory.pushStateを複数回使用します。
私がしたことは、.ajaxComplete関数を使用してajaxの完了をチェックしています。
var replacer = window.location.href.replace("&page=","/").replace("&sort=","/").replace("&order=","/").replace("...","...");
などと私は私のURLと魔法のようにその作業を変更する
history.pushState("","",replacer);
を使用します。この関数の内部で、私はこのように複数の置き換えを行う代用という変数を持っています。しかし、ユーザーがフィルタからオプションを選択したときの動作。誰かが別のフィルタを選択しようとすると、別のAjaxリクエストが実行され、同じことが行われますが、置換された新しいURLがReplacer変数に置き換えられます。
何らかの理由でオリジナルの生成されたURLがあり、これに置き換えてhistory.pushStateを作成するというアイデアはありますか?
は、あなたが(などのlocalStorageやウィンドウオブジェクトとして)どこかにオリジナルの「window.location.href」を保存することができ、事前に
元のURLを変数に置き、必要に応じて後でアクセスします。 – evolutionxbox