2016-02-24 210 views
5

我在這裏發現了一些關於StackOverflow的問題,用於解決iOS Safari瀏覽器的特定功能,以及sessionStoragelocalStorage。但是我一直無法找到一個明確的資源,表示當私密瀏覽時iOS Safari對sessionStoragelocalStorage的支持。iOS Safari隱私瀏覽localStorage和sessionStorage支持?

對此有什麼支持或者是否有Apple提供此功能的特定資源?普遍的共識是localStorage完全不支持沒有polyfill,這是否也是sessionStorage

非常感謝!

回答

4

我不認爲這是爲iOS任何特定的資源,但在這裏是蘋果的官方文檔:

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; 
    } 
} 
相關問題