2016-07-21 7 views
0

で現在のURLを交換しない私は、ボタンのクリックで実行される次のコードを持っている:私たちは持っている例のためにhttps://mywebsite.com/website/?page=page1location.replaceは歴史

location.replace(window.location.href.split('?')[0] + _new_urli); 

を私のURLは次のようになります。

現在の行動: 後location.replace()現在のURLが履歴にとどまり、ユーザーがそれに戻ってクリックすることができます

希望/意図した動作: 成功すると、ユーザーが転送されます。彼らが戻ると、私はlocation.replaceを使ったページを訪問することができなくなります。

これは、上の記載された機能である:あなたはおそらく、ナビゲーションのhistoryを使用することができhttp://www.w3schools.com/jsref/met_loc_replace.asp

+0

ちょうどあなたが戻ってボタンをクリックすると2回戻って行くようにユーザーを明確にするには? –

+0

page2をpage3に置き換えて、データが投稿された後でユーザーがページ2に戻ることができないようにしたい。 – theshadow124

+0

'_new_urli'が文字列であることは間違いありませんか? –

答えて

0

history.go(-2);のようなものが動作するはずです。

URLを変更する場合は、history.pushState(null, null, "newURL");をご覧になるか、場合によってはhistory.replaceState()をご覧ください。

バックボタンは変更されないので、dataが3ページで変更された場合は、別の方法でブラウザに渡すことができます。これはstate object(最初のパラメータがnull)に設定できます。 {object: value,...}

This while probably interest you too。あなたのサイトのふるまいを知ることなく、適切な解決策を見つけ出すことは困難です。これがあなたに影響を与えることを願っています。

+0

私はリンクを見て、私は印象の下にあったlocation.replaceは、歴史の現在のページを新しいものに置き換えます。それは私が本当にやりたいことです。 – theshadow124

+0

返事ありがとうございますが、これは私がやろうとしていることを修正していないようです。なぜ私のlocation.replaceは現在のURLを意図したものに置き換えないのでしょうか?:http://www.w3schools.com/jsref/met_loc_replace.asp – theshadow124

+0

これはあなたのデータが原因ではないと思いますか? console.log()できますか? –