最近、モバイルプロジェクトを開発する場合、ローカルストレージが必要な場所がたくさんあります。これは、現在開いているウィンドウのユーザーデータを記憶するだけの問題なので、sessionStorageを使用することにしました。
使用シナリオは次のとおりです。
A.htmlページはデータの一部を記録する必要があります{a:1、b:2};
sessionStorage.setItem( "data"、 "{a:1、b:2}");
B.htmlページを取り出して使用します。
sessionStorage.getItem( "data"); //結果はnullです
問題:
プロジェクトが単一ページの複数のアプリケーションではない場合、ABは2つのhtmlファイルなので、hrefにジャンプする必要があります。Andironシステムの一部のブラウザがページBでフェッチされ、結果がnullであることがわかります(vivo携帯電話に搭載されている世界のウィンドウブラウザなど)。
理由:
分析後も、sessionStorageのオブジェクトを取得できるため、このブラウザがsessionStorageをサポートしていないわけではありません。
ただし、sessionStorageは現在のウィンドウのデータストレージ形式であるため、一部のブラウザは新しいページにジャンプするときに新しいwebViewを開き、元のページをオフにします。これは、新しいウィンドウ。
このようにして、彼はsessionStorageの原則と矛盾します。もちろん、新しいページでは利用できません。
したがって、モバイルを実行しているときに単一ページの複数アプリケーションプロジェクトでない場合は、sessionStorageを使用しないことをお勧めします。注意して使用してください!