2016-02-24 13 views
5

Belirli iOS Safari Gizli Gezinme ile işlevsellik ve sessionStorage ve localStorage adresleme StackOverflow'daki birkaç soru burada bulduk. Ancak, iOS Safari'nin Özel Tarama yaparken sessionStorage ve localStorage için sahip olduğu desteği belirten kesin bir kaynak bulamadım.iOS Safari Özel Tarama localStorage ve sessionStorage Desteği?

nasıl bir destek bunun için var veya Apple bu işlevi gösteren herhangi belirli bir kaynak var mı? Genel fikir birliği, localStorage'un hiç bir polifiliz olmadan desteklenmediği, aynı durum sessionStorage için geçerli mi?

Çok teşekkür ederim!

cevap

4

Ben iOS için herhangi bir özel kaynak olduğunu düşünüyorum, ama burada Apple'ın resmi belgeler var yoktur:

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

Ve bu StackOverflow soru da oldukça yararlıdır:

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

sessionStorage ve localStorage için çözerken

genel olarak, aslında açık olan Web Müfettiş ile telefonunuzda Safari ile lokal olarak gelişmekte deneyin. İyi şanslar

6

Evet, aynı sessionStorage ve localStorage için geçerlidir. https://gist.github.com/paulirish/5558557

En çözümü sadece birini gerekiyorsa

:

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

Veya bunu yapmak için

sorun geçmişini açıklayan Paul İrlandalılar tarafından mükemmel bir Gist vardır her ikisi için de iş, MDN önerdiği çözüm daha-geneldir: 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; 
    } 
}