如何在本地存储 Firefox 扩展图标状态
How to store Firefox extension icon state locally
我有一个 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>
options.js
const blackTrash = document.getElementById("black-trash");
const redTrash = document.getElementById("red-trash");
function setBlack() {
browser.browserAction.setIcon({path:"../icons/black_trash.png"});
}
function setRed() {
browser.browserAction.setIcon({path: "../icons/red_trash.png"});
}
blackTrash.addEventListener("click", setBlack);
redTrash.addEventListener("click", setRed);
但是,如果您将图标更改为红色,则只要您重新启动浏览器,它就会重置为黑色(默认)。
如何在本地保存图标状态?
看看:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage
我不太清楚,但试试 localStorage -
function setBlack() {
browser.browserAction.setIcon({path:"../icons/black_trash.png"});
localStorage.setItem('icon', '../icons/black_trash.png');
}
要调用它,您只需要 localStorage.getItem('icon');
我不知道这是否能解决您的问题,但我们也是来学习的;)
我有一个 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>
options.js
const blackTrash = document.getElementById("black-trash");
const redTrash = document.getElementById("red-trash");
function setBlack() {
browser.browserAction.setIcon({path:"../icons/black_trash.png"});
}
function setRed() {
browser.browserAction.setIcon({path: "../icons/red_trash.png"});
}
blackTrash.addEventListener("click", setBlack);
redTrash.addEventListener("click", setRed);
但是,如果您将图标更改为红色,则只要您重新启动浏览器,它就会重置为黑色(默认)。
如何在本地保存图标状态?
看看:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Client-side_storage
我不太清楚,但试试 localStorage -
function setBlack() {
browser.browserAction.setIcon({path:"../icons/black_trash.png"});
localStorage.setItem('icon', '../icons/black_trash.png');
}
要调用它,您只需要 localStorage.getItem('icon');
我不知道这是否能解决您的问题,但我们也是来学习的;)