首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列表本地存储

列表本地存储
EN

Stack Overflow用户
提问于 2010-05-15 17:22:29
回答 1查看 4.5K关注 0票数 2

我用这个做了我自己的特性:

代码语言:javascript
复制
function save(title, url)
{
 for (var i = 1; i < localStorage.length; i++) 
 {
  localStorage["saved-title_" + i + ""] = title;
  localStorage["saved-url_" + i + ""] = url;
 } 
}

function listFavs()
{
 for (var i = 1; i < localStorage.length; i++) {
    console.log(localStorage["saved-fav-title_" + i + ""]);
 }
}

当有人单击此命令时,将发生保存():

代码语言:javascript
复制
onclick="save(\'' + title + '\', \'' + tab.url + '\');"> ' + title + '</a>';

然而..。它没有显示保存的localStorages,我该如何使它工作呢?

EN

回答 1

Stack Overflow用户

发布于 2010-05-15 17:28:59

可能是因为您使用键'saved-title_' + i保存值,使用'saved-fav-title_' + i检索值吗?

区别在于fav-部件.

您对localStorage的枚举必然会创建错误,因为不能保证它中的所有项都有一个与提供'saved-fav-title_' + i的模式相匹配的键--实际上,保证不会这样做,因为您自己是以'saved-url_'+ i的形式输入带有键的项。

因此,如果要使用匹配模式的键正确枚举项,请使用

代码语言:javascript
复制
function listFavs(){
    var key;
    for (var i = 0, len = localStorage.length; i < len; i++){
        key = localStorage.key(i);
        if ((/^saved-fav-title_/).test(key)) {
            console.log(localStorage.getItem(key);
        }
   }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2841029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档