2016-05-12 8 views
0

私はWebアプリケーションを開発しており、ブラウザの戻るボタンをもっとアプリのようにしたいと考えています。戻るボタンがどこにつながるかを変更する

ユーザーがメッセージ投稿するには、次の手順を経る: リストのすべてのメッセージを - >ライト・リプライ - - > 1のメッセージを読んで、ユーザは、その後、彼は意志戻るボタンをクリックした場合>返信

後にメッセージを取り戻します彼は返信を書いていたページに戻ってください。優先されるアクションは、すべてのメッセージのリストに戻ることです。

私はHTML5履歴APIを使用して投稿後に「返信」と「1件のメッセージを読む」履歴を削除しようとしましたが、そうすることはできないようです。

私が好きなように振る舞う方法はありますか、そのまま放置するべきですか?私は、あなたが戻るボタンを混乱させるべきではないことを知っていますが、これはこれがより論理的になると本当に思います。

+0

これを読んでこの問題が解決するかどうかをお知らせください。http://stackoverflow.com/questions/31528432/how-do-i-use-window-history-in-javascript – Rahul

答えて

1

この方法でやろうとすることができる:ユーザーが回答を書いた後

あなたがこれを実行することができますが

// 1) push a fake state in the history 
    history.pushState({ foo: "test" }, "test", "test.html"); 

// 2) add a listener when the user press the back button 
    window.addEventListener('popstate', function(event) { 
     //redirect user where you want 
     window.location.href = '...'; 
    }, false); 
  • は、コードの@ POINT1がであなたのURLが変更になることに注意してくださいJSアドレスバーを使用しているため、URLをクエリ文字列の一部または他の情報とともに使用している場合は、それらを処理する必要があります。
  • code @ point2については、シングルページのWebアプリケーションを使用している場合は、この操作を終了してからリスナーを削除する必要があります。

しかし、これは可能な解決策ですが、環境を知らなければ私はあなたの要求に合っているかどうかわかりません。 これが助けてくれることを願っています!

+0

これはうまくいった!ありがとう! – Thomas

+0

あなたのニーズに合ったうれしい! – Pierfrancesco

関連する問題