在Chrome中使用本地存储作为数据库?

时间:2013-07-18 10:21:41

标签: google-chrome-extension local-storage

我成功通过本地存储设置/获取数据。基本上我正在构建一个提醒扩展/地理位置,允许用户保存网址,地理位置和网址标题。每次需要保存3个数据。我正在使用JSON.stringfy和JSON.parse来执行此操作。这是我被困的地方:

  1. 如何在不写入本地存储中的最后一个条目的情况下保存用户的每个条目?每次我保存网址时,它都不会将其作为新条目保存在本地存储中。它只是保存在最后一个条目上。
  2. 随着时间的推移,用户可能会有数十个条目,但我希望能够更新数据集中的特定条目。 (例如,如果[数据集中存储的网址之一] == [目前在浏览器网址中的网址$(位置).attr('href');]然后执行某些操作。
  3. 我开始时非常简单。保存和获取数据正在发挥作用。

    //save my data
    var mydata = { urlTitle: myTitle, myurl: currentUrl, urlLoc: geoUrl }​​​​​​​;
    localStorage.setItem("mydata", JSON.stringify(mydata));
    
    //get my data
    var returnData = localStorage.getItem("mydata");
    mydata = JSON.parse(returnData);
    

    需要一点指导。

1 个答案:

答案 0 :(得分:11)

localStorageDB就是这样做的。

// Setup database
var lib = new localStorageDB("library", localStorage);
lib.createTable("books", ["code", "title", "author", "year", "copies"]);

// Insert rows
lib.insert("books", {code: "B001", title: "Phantoms in the brain", author: "Ramachandran", year: 1999, copies: 10});
lib.commit();

// Query rows
lib.query("books", {author: "ramachandran"});

披露:我创作了图书馆