iOS Safari 隐私浏览本地存储和会话存储支持
iOS Safari Private Browsing localStorage and sessionStorage Support?
我在StackOverflow上发现了一些问题,这些问题解决了iOS Safari隐私浏览和sessionStorage
和localStorage
的特定功能。但是我无法找到一个明确的资源来表示iOS Safari在隐私浏览时对sessionStorage
和localStorage
的支持。
对此有什么支持,或者 Apple 是否有任何表示此功能的特定资源?普遍的共识是,如果没有 polyfill,根本不支持 localStorage
,sessionStorage
也是如此吗?
非常感谢!
是的,sessionStorage
和localStorage
也是如此。
保罗·爱尔兰(Paul Ireland)有一个很好的要点来解释这个问题的历史:
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;
}
}
我不认为iOS有任何特定的资源,但这是Apple的官方文档:
https://developer.apple.com/library/safari/documentation/iPhone/Conceptual/SafariJSDatabaseGuide/Name-ValueStorage/Name-ValueStorage.html
这个StackOverflow问题也非常有用:
超出配额错误: Dom 异常 22:尝试向存储添加超出配额的内容
通常,在解决sessionStorage
和localStorage
时,请尝试在打开Web检查器的手机上使用Safari进行本地开发。祝你好运:)
- '会话'未定义-会话存储的Este JS/Express/Redis
- 当会话存储阵列中存在大量元素时,如何从中删除元素
- 使用会话Javascript存储数据
- Django会话与浏览器本地存储
- C#/Javascript会话存储
- 将会话登录页存储在cookie中以进行表单解析(通过隐藏字段)
- Javascript 会话存储变量未正确保存
- 不会删除会话存储
- Meteor会话变量未存储数组
- 如何改进此会话存储命名系统/for循环
- 测试本地存储/会话存储最大数据量
- 在 javascript var 中存储会话变量时脚本停止
- 会话节点.js + 护照.js + Redis,按 user.id 存储会话
- 烧瓶:如何手动存储会话数据
- 为什么在php脚本中存储会话数据会干扰Ajax脚本
- Java -如何使用gson库解析json响应+存储会话id,以便它可以被gae中的javascript函数访问
- 多个HTTP客户端请求不存储会话数据
- 存储会话的复选框信息
- 在表单提交时存储会话
- 使用node - js和“connect-mongostore”存储会话