首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从localStorage内部清除Chrome扩展popup.js

从localStorage内部清除Chrome扩展popup.js
EN

Stack Overflow用户
提问于 2015-09-20 02:26:33
回答 2查看 2.6K关注 0票数 0

除了一件事外,我的扩展中的每一件事都在工作!我想通过popup.js清除这个扩展的本地存储。它是一个简单的扩展,可以从某个域保存表单数据。

目前,在我的内容脚本(save.js)中,我正在通过localStoragekey访问本地存储,但是我似乎无法通过popup.js访问本地存储,而且我得到了一个“未定义的”,我假定它是预期的行为。

我已经尝试过localStorage.clear();来自于我的popup.js,但是这没有任何效果。大概是因为它希望从扩展本身中清除不存在的localStorage?

如何访问和清除save.js从popup.js中使用的本地存储?

popup.js

代码语言:javascript
复制
document.getElementById('clearAllData').addEventListener('click', clear);

function clear(){
	localStorage.clear();
 }

关于如何在save.js中保存数据的save.js片段

代码语言:javascript
复制
function saveTicket(ticket, contents) {
	localStorage[ticketID] = contents;
}

EN

回答 2

Stack Overflow用户

发布于 2015-09-20 03:55:21

你没有正确地使用回调。您需要异步传递函数。例如:

代码语言:javascript
复制
function clear(){
   chrome.storage.local.clear(function(obj){
      console.log("cleared");
      });
 }

不过,也可能是这样。Chrome存储已经是本地的。

代码语言:javascript
复制
function clear(){
   chrome.storage.sync.clear(function(obj){
      console.log("cleared");
      });
 }
票数 3
EN

Stack Overflow用户

发布于 2015-09-20 17:12:41

您应该使用chrome.storage而不是localStorage。当您在内容脚本中使用localStorage时,它是页面的,而不是扩展的。但是,当您在内容脚本中使用chrome.storage时,它是对扩展的存储。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32675133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档