0

html5 ゲームを win8 に移植しています。ゲームの状態を保存するために、関数save_game(localStorage を使用してデータを格納する)を呼び出しますwindow.unloadが、もちろんここでは機能しません。なのでWinJS.Application.oncheckpoint代わりに使っています。奇妙なことに、ゲームを起動して を押すalt-f4と、ゲームの状態が保存されません。イベントハンドラーでVSでデバッグするとconsole.log、アプリを再開したときにのみトリガーされるように見えることがわかりました。奇妙なことに、コードにブレーク ポイントを配置すると、中断中にイベント ハンドラーが正しく実行されます。

なぜこれが起こるのか誰にも分かりますか?これはwin8のバグですか?

前もって感謝します。

4

1 に答える 1

3

VS でアプリをデバッグすると、既知の動作が発生します。ユーザー アクション (Alt-F4 / トップ スワイプ) でアプリを閉じると、アプリは実際にはデバッガーによってしばらく開いたままになります。oncheckpoint でブレークポイントを設定し、アプリをデバッグし、Alt-F4 を押してから約 5 秒間 WAIT すると、ブレークポイントに到達します。ユーザーの「閉じる」イベントをシミュレートする最善の方法は、oncheckpoint をすぐに起動する VS 内から Suspend and Shutdown オプションを使用することです。

于 2013-02-08T17:00:14.357 に答える