列出localstorage

时间:2010-05-15 17:22:29

标签: javascript list for-loop onclick local-storage

我使用此功能完成了自己的功能:

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 + ""]);
 }
}
当有人点击它时会发生

save():

onclick="save(\'' + title + '\', \'' + tab.url + '\');"> ' + title + '</a>';

然而 ...它没有显示已保存的localStorages,我应该如何让它工作?

1 个答案:

答案 0 :(得分:4)

可能是因为您使用密钥'saved-title_' + i保存值而'saved-fav-title_' + i要检索它?

区别在于 fav - 部分。

你对localStorage的枚举必然会产生错误,因为不能保证其中的所有项都有一个与提供的模式匹配的密钥'saved-fav-title_' + i - 实际上它保证不会如你所知使用'saved-url_'+ i

形式的键输入项目

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

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);
        }
   }
}