从popup.js

时间:2015-09-20 02:26:33

标签: javascript html5 google-chrome google-chrome-extension local-storage

我的扩展中的所有内容都与一件事分开!我想通过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;
}




1 个答案:

答案 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");
      });
 }