Javascript Chrome扩展-如何保存对存储所做的更改?

Javascript Chrome扩展-如何保存对存储所做的更改?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我对编码还不熟悉,目前我正在尝试构建一个chrome扩展,它可以作为一个小笔记本,并且可以在里面存储东西。我已经完成了一个非常原始的例子,但它工作得非常好。目前最大的障碍是如何在关闭弹出窗口和浏览器后保存更改。我做了一些研究,发现我可以使用localStorage来存储数据。然而,我有点迷茫,不知道从哪里开始,如何使用它 这几乎是我所有的东西 manifest.json { "name": "1st extension", "descri

我对编码还不熟悉,目前我正在尝试构建一个chrome扩展,它可以作为一个小笔记本,并且可以在里面存储东西。我已经完成了一个非常原始的例子,但它工作得非常好。目前最大的障碍是如何在关闭弹出窗口和浏览器后保存更改。我做了一些研究,发现我可以使用
localStorage
来存储数据。然而,我有点迷茫,不知道从哪里开始,如何使用它

这几乎是我所有的东西

manifest.json

{
  "name": "1st extension",
  "description": "Try to build an extention",
  "version": "0.1",
  "manifest_version": 3,

  "background": {
    "service_worker": "background.js"
  },
  
  "action": {
    "default_popup": "popup.html",
    "default_title": "This is my first chrome extention",
  },
  "permissions": ["storage"],
  "options_page": "options.html"
}
popup.html

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="button.css">
  </head>
  <body>
    <p>Type in something and save it below!</p>

    <textarea id="mytext" style="width: 300px;"></textarea>
    <button id="submit">Submit</button>
    <button id="clear">Clear</button>
    <ul id="items"></ul>

    <script src="popup.js"></script>
  </body>
</html>

使用存储很容易

localStorage.setItem('Phone','1234-5678');
然后把它读回来

var Phone=localStorage.getItem('Phone');
但我希望你知道数据不会出现在匿名的windows中,而且。。。一旦你退出浏览器,一些浏览器(至少是我的浏览器)会将所有存储都吹走

因此,这是一个非常不稳定的解决方案,如果您希望永久保存到硬盘,则不适合

让我检查一下谷歌API,看看他们还有什么可以保存到HD的

这里有一种方法,但是处理BLOB不适合新手


谢谢您的回复!我脑子里真正想的是如何存储列表中的每个元素,并在再次打开浏览器时将其加载回去。我想用数组来保存所有元素,但似乎很难做到。@ctz
localStorage.setItem('Phone',JSON.stringify(你的数组))
var Phone=JSON.parse(localStorage.getItem('Phone'))
是您想要的,您可以使用变量。。。变量A=['anna'、'bob'、'peter'];setItem('Data',A);
var Phone=localStorage.getItem('Phone');