2017-09-21 30 views
0

ナビゲーションなしでアドレスのURLを変更したいと思います。私は、アドレスバーのURLに入力して、このURL url[0] + '?task=product&url=' + selectedUrlに移動した後、その後履歴後pushStateバックがナビゲートしていない

var url = window.location.href; 
    url = url.split('#'); 
    var url_ = url[0] + '?task=product&url=' + selectedUrl; 
    history.pushState(null, null, url_); 

のようにそれを行う 。 しかし、私が戻ってナビゲートすると、アドレスは変更されましたが、ページは変更されませんでした(ページは変更されたURLのために読み込まれません)。

は今、どのように私はこのURLで背中や、ページのロードナビゲートすることができますか?

+0

可能な重複がwindow.historyでは動作しません。行きたい場所にリダイレクトすることができますよ。 pushState](https://stackoverflow.com/questions/19335372/back-button-backspace-does-not-work-with-window-history-pushstate) –

+0

'pustState'はURLのみを格納いくつかのメタ情報を変更ではなく、ページの内容あなたは[popstate](https://developer.mozilla.org/en/US/docs/Web/Events/popstate)イベントを聞いて、それに応じてページの内容を更新する必要があります。 –

+0

ありがとうございます。 –

答えて

0

history.pushStateは、ブラウザの履歴を操作します。私はあなたで混乱ビットが言葉遣いだが、あなたはいつもちょうど

window.location = url; 

あなたは[戻る]ボタン/バックスペースの

+0

ええ、ブラウザの[戻る]ボタンをクリックすると、ページが読み込まれず、URLのみが変更されます –

+0

私はまだ何をしようとしているのか分かりません。私はそれがあなたのように動作するとは思わない、私はこれを読んで与えるだろうhttps://developer.mozilla.org/en-US/docs/Web/API/History_APIこれはよくhttps:// developerを助けるかもしれない.mozilla.org/ja-jp/docs/Web/API/WindowEventHandlers/onpopstate –

関連する問題