Javascript 如何在本地存储Firefox扩展图标状态

Javascript 如何在本地存储Firefox扩展图标状态,javascript,html,firefox-addon,Javascript,Html,Firefox Addon,我有一个firefox扩展,当您单击图标图像时,它可以更改html选项菜单中的扩展图标 options.html <body> <section class="browser-icons"> <img id="black-trash" img src="../icons/black_trash.png" title="Black trash"/> &

我有一个firefox扩展,当您单击图标图像时,它可以更改html选项菜单中的扩展图标

options.html

<body>
    <section class="browser-icons">
      <img id="black-trash" img src="../icons/black_trash.png" title="Black trash"/>
      <img id="red-trash" img src="../icons/red_trash.png" title="Red trash"/>
    </section>
但是,如果将图标更改为红色,则每当重新启动浏览器时,图标将重置为黑色(默认)

如何在本地保存图标状态?

看一看:

我不清楚,但请尝试使用本地存储来解决此问题-

function setBlack() {
  browser.browserAction.setIcon({path:"../icons/black_trash.png"});
  localStorage.setItem('icon', '../icons/black_trash.png');
}
要调用它,您只需要
localStorage.getItem('icon')


我不知道这是否能解决您的问题,但我们也在这里学习;)

您需要添加存储以使其持久化。尝试将其保存到
本地存储
,然后在重新加载浏览器窗口时检索它。谢谢!这个实现工作得很好。您知道在本地存储图标文件之前是否有方法获取当前图标文件状态吗?我建议您使用cdn的图标,就像在upload site services中存储图标一样,因为它直接反映在应用程序的持久性中。
function setBlack() {
  browser.browserAction.setIcon({path:"../icons/black_trash.png"});
  localStorage.setItem('icon', '../icons/black_trash.png');
}