質問するログイン新規登録

質問編集履歴

1

抜け漏れていた細かい条件を加筆しました。

2017/01/31 13:12

投稿

cnx
cnx

スコア19

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,14 @@
1
1
  JS(JavaScript)であるページへの「戻る」動作を抑制したいのですが、シンプルで簡潔に実装する方法はあるでしょうか。
2
- 対象ブラウザはAndroidのWebViewです。
2
+ 対象ブラウザはAndroidのWebViewです(AndroidアプリにWebViewが埋め込まれておりJSをユーザーがOFFにしたり、Blank指定で新しいページを表示することは出来ません)
3
+ また、WebViewのイベント経由で遷移URLをログとして収集しているため、innerHTMLなどをAjaxで取得した内容で置き換えるといったWebViewのloadedイベントなど発生しない方法は検討の対象外となります。
4
+
3
5
  独自に調査したところではHTML5のhistory.stateなどを使ったものがあるようですが「あるページにおいて、おしなべてどのページにも戻れなくする方法」にしかならないようです。
4
- また、現在は仕方なくwebstorageにフラグを立てて戻ってきたらフラグ判定して条件に合う場合にのみ強制的にhistory.forwardなどを掛けているのですが、一瞬戻っていることに変わりは無いためサーバーログなどに複数の履歴が残り困っています。
6
+ また、現在は仕方なくwebstorageにフラグを立てて戻ってきたらフラグ判定して条件に合う場合にのみ強制的にhistory.forwardなどを掛けているのですが、一瞬戻っていることに変わりは無いため前出のWebViewイベントが反応してしまいログに複数の履歴が残り困っています(ログを残したくない)
5
7
 
6
8
  やりたいこと
7
9
  ページAにおいて、
8
- ページA → ページB は戻れても良いが
10
+ ページA → ページB(直前のページがB) は戻れても良いが
9
- ページA → ページZ(Zは特別戻らせたくないページ)のようにZにだけは戻れないようにする。
11
+ ページA → ページZ(長髯のページがZ。Zは特別戻らせたくないページ)のようにZにだけは戻れないようにする。
10
12
 
11
13
  という動作です。
12
14
  WebStorageなどでフラグを立てて判定する他ないのでしょうか。