短いバージョン: Windows Phone 8 アプリでホストされている WebBrowser コントロールがあります。ユーザーがアプリを閉じて再度開いても保持されるように、javascript の値を保存するにはどうすればよいですか?
長いバージョン:
アプリの全期間にわたって存続する単一の MainPage.xaml ページでホストされる単一の WebBrowser コントロールを持つ Windows Phone 8 アプリケーションを開発しています。Visual Studio 2012 でプロジェクトを作成するときに、「Windows Phone HTML5 アプリ」プロジェクト タイプでアプリを作成しました。アプリケーションの 99% は、WebBrowser に送信する Web ページ (電話ではなく、インターネット上) でホストされています。アプリの起動時に移動します。アプリケーションの Web ページで、ページ間およびセッション間でデータを永続化しようとしています。たとえば、ユーザーが一度ログインしたら、それを電話に保存して、次回アプリを起動したときに再度ログインする必要がないようにします。
Cookie と HTML5 ローカル ストレージ (window.localStorage.setItem および getItem 経由) はどちらも、アプリの実行中にアプリ内のページ間でデータを共有するために正常に機能し、アプリから切り替えた場合でも (Windows phone の「ハード ボタン」経由)しかし、ユーザーがハード「戻る」ボタンを押してアプリを終了すると、次にアプリを起動したときに、すべての localStorage と Cookie がなくなったように見えます。
これは予想される動作ですか?WebBrowser がデータをどこに保存するかはわからないと思います (Isolated Storage? または、Internet Explorer で Web サイトにアクセスする場合、データが保存されているのと同じ場所に保存されるのでしょうか?)。いずれにせよ、これに対する「修正」がない場合、実行中のアプリのインスタンス間で JavaScript コードが値を保持できるように、独自のストレージメカニズムを提供する最善の方法はありますか? JavaScript を使用して値を取得および取得する方法を知っていれば、アプリの分離ストレージを喜んで使用します。ありがとうございました。