微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

chrome.storage 到 sessionStorage

如何解决chrome.storage 到 sessionStorage

我一直在开发 Chrome 扩展程序,它从网页中获取一个元素,使用 chrome.storage 存储该值,然后在弹出窗口中显示它。这工作正常,但从用户的角度考虑,我希望在用户关闭浏览器时删除数据,以便他们每次都“重新开始”。研究这个,我被指出使用 sessionStorage 的方向。我认为切换到它会很简单,但我遇到了一些问题。

这里是我使用 chrome.storage.local 设置变量的地方。这是在收到来自内容脚本的消息后在 background.js 中设置的:

chrome.storage.local.set({'amazon': 'test data'});

这是我访问 popup.js 中的变量并更新 popup.html 中的文本的地方:

let text = document.getElementById("site-data");
chrome.storage.local.get(['amazon'],function(result) {
    let amazon_data = result['amazon'];
    text.textContent = amazon_data;
  });

这很好用,但就像我说的,sessionStorage 似乎更适合我的情况。所以我尝试将 background.js 中的代码替换为,

sessionStorage.setItem('amazon','test data');

并使用以下命令获取 popup.js 中的变量:

let text = document.getElementById("site-data");
let amazon_data = sessionStorage.getItem('amazon');
text.textContent = amazon_data;

我看过 sessionStorage 文档,它看起来应该很容易使用。我对如何实施它的理解中是否缺少某些东西?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。