当我尝试在IOS Safari中使用localStorage.setItem("");保存任何内容时,我得到此错误-SecurityError(DOM Exception 18):操作不安全。下面是错误的屏幕截图...
localStorage.setItem("");
有办法解决吗?谢谢
jslywgbw1#
找到答案了。阻止Cookie已在用户的Safari设置中打开。
7gcisfzg2#
我在Safari的桌面版本上遇到了这个问题。我启用了“禁用本地文件限制”,您可以通过以下方式找到它:
您的cookie设置也不允许处于“始终阻止”状态。否则你也会得到这个错误!
mum43rcc3#
不仅是Safari,还有隐私浏览模式的Firefox。Chrome不会在隐身模式下阻止localStorage,但它会在每次会话时重置(这是一个更好的选择)。在这两种情况下,都不应该直接使用localStorage,而是创建一个脚本,如果它可用,则使用它,如果不可用,则使用sessionStorage。即
var backupStorage = {}; var storageMode = 'localStorage'; try { localStorage.length; } catch(e) { try { sessionStorage.length; storageMode = 'sessionStorage'; } catch(e) { storageMode = 'backupStorage'; } } function setLocalStorage(key, value) { switch(storageMode) { case 'localStorage': localStorage.setItem(key, value); break; case 'sessionStorage': sessionStorage.setItem(key, value); break; case 'backupStorage': backupStorage[key] = value; break; } } function getLocalStorage(key) { switch(storageMode) { case 'localStorage': return localStorage.getItem(key); case 'sessionStorage': return sessionStorage.getItem(key); case 'backupStorage': return backupStorage[key]; } }
3条答案
按热度按时间jslywgbw1#
找到答案了。阻止Cookie已在用户的Safari设置中打开。
7gcisfzg2#
我在Safari的桌面版本上遇到了这个问题。我启用了“禁用本地文件限制”,您可以通过以下方式找到它:
您的cookie设置也不允许处于“始终阻止”状态。否则你也会得到这个错误!
mum43rcc3#
不仅是Safari,还有隐私浏览模式的Firefox。Chrome不会在隐身模式下阻止localStorage,但它会在每次会话时重置(这是一个更好的选择)。在这两种情况下,都不应该直接使用localStorage,而是创建一个脚本,如果它可用,则使用它,如果不可用,则使用sessionStorage。即