2016-02-24 35 views
5

iOS Safari Private BrowsingとsessionStoragelocalStorageで特定の機能を扱うStackOverflowに関するいくつかの質問がここにあります。しかし私はプライベートブラウジング時にiOS Safariが持っているsessionStoragelocalStorageのサポートを示す明確なリソースを見つけることができませんでした。iOS SafariプライベートブラウジングlocalStorageとsessionStorageのサポート?

これにはどのようなサポートがありますか、またはこの機能を示すアップルの特定のリソースはありますか?一般的なコンセンサスは、localStorageはpolyfillなしでは全くサポートされていないということです。同じことがsessionStorageにも当てはまりますか?

ありがとうございました!

答えて

4

私は、iOSのための任意の特定のリソースがあるとは思わないが、ここでは、Appleの公式ドキュメントです:

https://developer.apple.com/library/safari/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html

そして、このStackOverflowの質問にもかなり便利です。

QuotaExceededError: Dom exception 22: An attempt was made to add something to storage that exceeded the quota

一般に、sessionStoragelocalStorageを解決するには、Web Inspectorを開いた状態で実際にSafariでローカルに開発してください。幸運:)

6

はい、同じですsessionStoragelocalStorageの間になります。 https://gist.github.com/paulirish/5558557

ベストソリューションあなたがそれらの一方のみが必要な場合

function isLocalStorageEnabled() { 
    try { 
     var mod = '__storage_test__'; 
     localStorage.setItem(mod, mod); 
     localStorage.removeItem(mod); 
     return true; 
    } catch(e) { 
     return false; 
    } 
} 

または、それを作るために

問題の歴史を説明するポール・アイリッシュにより、優れた骨子がありますMDN推奨のソリューションは、より汎用的です。 https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API

function storageAvailable(type) { 
    try { 
     var storage = window[type]; 
     var x = '__storage_test__'; 
     storage.setItem(x, x); 
     storage.removeItem(x); 
     return true; 
    } 
    catch(e) { 
     return false; 
    } 
} 
関連する問題