14

これについては、ウェブ全体で意見の相違を見てきました。iOS 5.1 以降、iPad 上の HTML5 コンテンツのローカル データ ストレージは永続的であることが保証されなくなったと言われていますが、Apple の現在の Safari 開発者ページ ( https://developer.apple.com/technologies/safari/html5 .html )、オフラインでの永続性を保証することをお勧めします。

この件に関して最近の経験があり、HTML5 のデータベース機能が iPad 上の Safari でどれほど信頼できるかについてコメントできる人はいますか?

4

2 に答える 2

14

これはおそらく十分な情報です:

の w3c 仕様localStorageは次のとおりです。

2 番目のストレージ メカニズム (注: localStorage ) は、複数のウィンドウにまたがるストレージ用に設計されており、現在のセッションを超えて持続します。特に、Web アプリケーションでは、パフォーマンス上の理由から、ユーザーが作成したドキュメント全体やユーザーのメールボックスなど、メガバイト単位のユーザー データをクライアント側に格納する必要がある場合があります。

そしてアップルのページでは:

Safari は、最新の HTML5 オフライン データ ストレージ機能をサポートしています。アプリケーションは、単純なキー/値ベースのデータ ストアまたは堅牢な SQL データベースを使用して、その情報をローカル マシンに保存できます。データはローカルに保存され、Safari を起動しても保持されるため、アプリケーションはデータにアクセスするためにネットワーク接続を必要とせず、起動時間と全体的なパフォーマンスが向上します。

Google を検索すると (そして一部の反 Google フリークのために Yahoo! も検索すると)、次の情報が得られます。

iOS 5.1 では、Apple は localStorage ファイルの場所を Caches フォルダに移動しました。キャッシュ フォルダは、OS の要請により、通常はスペースが不足している場合に、時折クリーンアップされます。Apple がこれを行って、localStorage が iCloud にバックアップされないようにした可能性があります。

IOS-6 Safari で localStorage にアクセスできない

Safari (IOS-6 を搭載した IPad) でlocalStorage にアクセスできません。たとえば、次のコードは Windows ではすべてのブラウザーと (iOS-5 を搭載した iPad) で正常に動作しますが、iOS-6 では動作しません: localStorage.setItem("var","5"); alert(localStorage.getItem("var"));

答え:

iPad でプライベート ブラウジングをオフにすることで問題を解決できました。参照からソリューションに出くわしました: https://github.com/cloudhead/less.js/issues/312#issuecomment-2994845

于 2013-04-30T16:25:32.273 に答える
3

はい、デバイスのストレージ容量が少なくなると、Apple は localstorage をクリーンアップします。(私は実際にこれをテストし、確実に確認しました)。

于 2017-08-21T10:51:17.617 に答える