1

同じマスター ページ (_layout.vbhtml) を共有する 3 つの異なるビューがあります。

各ビューで、ユーザーは異なるリスト項目を選択する必要があります。選択した値を保存するために sessionStorage を使用しています。次に、ビューが変更されるたびに、それらの値をサーバーに送り返したいと思います。これを実現するために、各ビューの最後に次を追加しています。

      $(window).unload(function () {
        alert("Bye now!");
        postjson();
      });

しかし、期待どおりに機能していません。ユーザーは別のボタンをクリックしてページから移動できますが、ボタンをクリックすると、ウィンドウがアンロードされて警告メッセージが表示されませんか? いいえ、それはしていません。

どんな助けでも大歓迎です。

4

2 に答える 2

0

使ってみて

window.onbeforeunload = function() {
alert("Bye now!");
        postjson();
      });
于 2012-09-14T17:47:37.347 に答える
0

たぶん、答えるには遅すぎる

ユーザーがビューから別のビューに移動したときに同じレイアウトを共有するビューでは、ビューから離れていませnavigate away 。jquery モバイルイベントを使用する必要があります。

を使用するpagebeforehidepagehide、あなたのために行います。ここにドキュメントからの抜粋

非表示にする前のページ

実際の遷移アニメーションが開始される前に、遷移元の「fromPage」でトリガーされます。このイベントのコールバックは、2 番目の引数としてデータ オブジェクトを受け取ります。このデータ オブジェクトには、次のプロパティがあります。

    nextPage (object)
        A jQuery collection object that contains the page DOM element that we are transitioning to.

Note that this event will not be dispatched during the transition of the first page >     at application startup since there is no previously active page.

ページ非表示

遷移アニメーションが完了した後、「fromPage」でトリガーされます。このイベントのコールバックは、2 番目の引数としてデータ オブジェクトを受け取ります。このデータ オブジェクトには、次のプロパティがあります。

    nextPage (object)
        A jQuery collection object that contains the page DOM element that we just transitioned to.

Note that this event will not be dispatched during the transition of the first page at application startup since there is no previously

アクティブなページ。

バインドされたコールバック関数の 2 番目の引数を介して、prevPage または nextPage プロパティにアクセスできます。

于 2013-01-04T22:36:32.750 に答える