LoginSignup
1
1

More than 5 years have passed since last update.

単一ページナビゲーションで画面遷移前に確認ダイアログなどを挟みたい時

Last updated at Posted at 2013-01-31

通常のHTMLだとonbeforeunloadイベントで行う実装をHTML上で実装しても呼ばれません。

単一ページナビゲーションって縦横100%のインラインフレームのような感覚?
遷移はしているようにみえるけどアドレスバーはずっとdefault.htmlな感じです。

navigater.jsのnav.back();の部分(4か所)を書き換えます。
4つもあるのは画面を戻る方法が4つだから。
・BackSpace キーが押され、入力フィールドによってキャプチャされない場合
・Alt キーと文字キーまたは Alt キーと右方向キーの組み合わせ
・マウスの後ろボタンを使用
・戻るボタン

backPage();
//nav.back();

そしてbackPageを実装。
特定の画面にいた時だけ別の処理に分岐。
あとはopenGoOut()で確認ダイアログだしたり。

var nav = WinJS.Navigation;
function backPage() {
   debug("backPage:" + nav.location);
    var loc = nav.location;
    if (loc == "/pages/special/special.html") {
        openGoOut();
    } else {
        nav.back();
    }
}
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1