【问题标题】:Use localStorage in background Chrome extension在后台 Chrome 扩展中使用 localStorage
【发布时间】:2012-10-15 17:57:13
【问题描述】:

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

所以我有两种选择:

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

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

谢谢

【问题讨论】:

  • 很有可能,你可以在后台页面使用localStorage。请发布您的代码,问题可能在那里。另外,您是否进行了“硬刷新”? (Chrome > Extensions > Extension > Refresh)这可能是问题,因为后台页面是持久的。

标签: google-chrome-extension


【解决方案1】:

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

手动重新加载扩展:

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

您的另一种选择是安装扩展程序以简化此操作,而不必每次都访问扩展程序页面。有几个,比如Quick Extension Reload

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 2012-11-10
      相关资源
      最近更新 更多