1

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

所以我有两种选择:

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

2-找到一种将数据存储在后台页面中的方法,例如本地存储。如果可能,该怎么做?

谢谢

4

2 回答 2

0

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

要手动重新加载扩展:

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

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

于 2012-10-15T18:13:21.897 回答
0

您绝对可以在后台页面中使用 localStorage。似乎还有别的问题。由于某些错误,您处理 localStorage 的代码部分可能没有执行。我建议检查正在运行的 background.js 的控制台(在 Chrome 中的扩展页面的开发人员模式下安装解压后的扩展后,单击“background.html”或正在执行 js 文件的任何页面)。如果有错误,您可以从那里继续前进。

于 2012-10-15T20:23:11.170 回答