Chrome中的localStorage解析问题

时间:2013-03-09 16:39:44

标签: javascript html5 local-storage

我有一个包含4个输入文本框的表单,在保存时,我将值保存到4个localStorage变量。

再次在页面加载时,我检索它们并使用这些值设置4个表单标签

$(".formFieldUserData").each(function(index)
            {
            var key = localStorage.key(index);
            $(this).val(localStorage.getItem($(this).attr('name')));
            $("#"+key+"Txt").html(localStorage.getItem($(this).attr('name')));
            });

现在Chrome中似乎存在一些订单问题。虽然Firefox完美地设置了值,但ChromeS中的localStorage似乎是以随机顺序访问的。

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

Chrome会根据密钥存储数据(在您的情况下,它将是desc-> email-> name-> phone)。其他浏览器有自己的订单。所以你不能依赖获取数据的顺序。你可以使用一个数组。但根据我的经验,你不能在localStorage(带字符串键的数组)中存储关联数组。因此,如果要存储关联数组,则必须首先stringify数组并存储在localStorage中然后使用它,您可以使用JSON.parse并像对象一样使用它。

Fiddle