在后台Chrome扩展程序中使用localStorage

时间:2012-10-15 17:57:13

标签: google-chrome-extension

在我的background.js中,当我使用localStorage时,没有任何反应。我认为这是Chrome扩展编程的工作方式(localStorage在后台页面中不起作用)。我可以在弹出页面中使用localStorage,但是对于我想要实现的目标,在后台页面中访问localStorage是必须的。

所以我有两种选择:

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

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

由于

2 个答案:

答案 0 :(得分:0)

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

手动重新加载扩展程序:

点击:Chrome>工具>扩展(“Chrome”是一个扳手或堆栈中的三个条) 滚动到您正在处理的那个,点击重新加载。

您的另一个选择是安装扩展程序,以便更轻松,而不必每次都进入扩展程序页面。有一些,例如Quick Extension Reload

答案 1 :(得分:0)

您绝对可以在后台页面中使用localStorage。似乎还有其他问题。 也许由于某些错误,处理localStorage的代码部分没有执行。我建议检查正在运行的background.js的控制台(点击'background.html',或者在Chrome中的扩展程序页面的开发者模式下安装解压缩的扩展程序后执行js文件的页面)。 如果出现错误,您可以从那里继续前进。