在IOS safari上,window.localstorage失败,超出了隐身模式

时间:2016-07-06 20:43:42

标签: javascript ios local-storage mobile-safari

Localstorage在我们所有IOS设备上的最新iOS更新后停止工作,但我们似乎无法在线找到任何有关此更改的参考,并且想知道发生了什么。

我有一个jsfiddle实现基本的localstorage设置和获取。 它在Chrome(IOS)上运行没有问题,但在Safari上完全失败: https://jsfiddle.net/mva3ap87/

以下是代码:

 var ls = {
    set:    function() {
        if (window.localStorage && window.localStorage.setItem) {
            window.localStorage.setItem('hello','world');
            return true;
        }
        return false;
    },
    get:    function() {
        if (window.localStorage && window.localStorage.getItem) {
            return window.localStorage.getItem('hello');
        } else {
            return 'nope';
        }
    }
}

$('.status1').html(window.localStorage?'Yes':'No');
$('.status2').html(ls.set()?'Success':'Failure');
$('.status3').html(ls.get());

此问题会影响我们尝试过的所有IOS设备。

隐身模式未启用。 没有弹出窗口阻止程序处于活动状态。"不跟踪"已关闭。 允许使用Cookie(但无论如何都不重要)。

有什么线索?

更新

我可以借用一个mac并发现错误:

" DOM例外22:尝试向存储中添加超出配额的内容"。

localstorage为空,浏览器未处于隐身模式。

我更加困惑。

0 个答案:

没有答案