Google chrome extension 在后台Chrome扩展中使用localStorage

Google chrome extension 在后台Chrome扩展中使用localStorage,google-chrome-extension,Google Chrome Extension,在我的background.js中,当我使用localStorage时,什么都不会发生。我认为这就是chrome扩展编程的工作原理(localStorage在后台页面中不起作用)。我可以在弹出页面中使用localStorage,但为了实现我的目标,必须在后台页面中访问localStorage 所以我有两个选择: 1-从后台向弹出页面发送请求,弹出页面接收消息并使用它创建本地存储,后台页面从弹出页面检索本地存储的值。当后台页面发送请求时,弹出页面必须立即响应(除用户单击扩展图标外,不响应)。 如果

在我的background.js中,当我使用localStorage时,什么都不会发生。我认为这就是chrome扩展编程的工作原理(localStorage在后台页面中不起作用)。我可以在弹出页面中使用localStorage,但为了实现我的目标,必须在后台页面中访问localStorage

所以我有两个选择:

1-从后台向弹出页面发送请求,弹出页面接收消息并使用它创建本地存储,后台页面从弹出页面检索本地存储的值。当后台页面发送请求时,弹出页面必须立即响应(除用户单击扩展图标外,不响应)。 如果可能的话,怎么做

2-找到一种在后台页面中存储数据的方法,如localstorage。如果可能的话,怎么做


谢谢您可以在后台页面中使用localStorage,问题可能是后台页面是持久的/存储在内存中。因此,您必须手动重新加载扩展名,而不仅仅是编辑文件

要手动重新加载扩展,请执行以下操作:

点击:Chrome>Tools>Extensions(“Chrome”是扳手或堆叠中的三根杆) 滚动至您正在处理的文件,点击重新加载


您的另一个选择是安装一个扩展,使之更容易,而不是每次都必须访问扩展页面。有几种,例如。

您完全可以在后台页面中使用localStorage。似乎还有别的问题。 可能是由于某些错误,代码中处理本地存储的部分没有执行。我建议检查正在运行的background.js的控制台(在Chrome的Extensions页面的开发者模式下安装解包扩展后,单击'background.html',或者执行js文件的任何页面)。
如果出现错误,您可以继续操作。

很有可能,您可以在后台页面中使用localStorage。请发布您的代码,问题可能就在那里。还有,你做过“硬刷新”吗?(Chrome>Extensions>Extension>Refresh)这可能是问题所在,因为背景页是持久的。可能重复: