我的扩展中的所有内容都与一件事分开!我想通过popup.js清除此扩展的本地存储。它是一个简单的扩展程序,可以保存来自某个域的表单数据。
目前,在我的内容脚本(save.js)中,我通过localStorage [key]访问本地存储,但似乎我无法通过popup.js执行此操作而且我得到了一个&#39 ;未定义'我认为这是预期的行为。
我试过localStorage.clear();从我的popup.js但这没有任何影响。大概是因为它希望从扩展本身中清除不存在的localStorage?
如何从popup.js访问和清除save.js一直使用的本地存储?
popup.js
document.getElementById('clearAllData').addEventListener('click', clear);
function clear(){
localStorage.clear();
}

我如何在save.js中保存数据的摘录
function saveTicket(ticket, contents) {
localStorage[ticketID] = contents;
}

答案 0 :(得分:2)
您没有正确使用回调。您需要异步传递函数。例如:
function clear(){
chrome.storage.local.clear(function(obj){
console.log("cleared");
});
}
但也可能是这样。 Chrome存储已经是本地存储。
function clear(){
chrome.storage.sync.clear(function(obj){
console.log("cleared");
});
}