【问题标题】:Does a Chrome extension have his own localStorageChrome 扩展是否有自己的 localStorage
【发布时间】:2017-03-25 10:55:14
【问题描述】:

我正在创建一个 Chrome 扩展程序,它获取当前活动的文本框并将预定义的文本放入其中。

我想使用localStorage,问题是。 扩展是否有自己的 localStorage,还是必须使用网站上的 LS?

如果扩展没有自己的LS,如何实现在本地计算机上保存一些数据?

【问题讨论】:

    标签: javascript html google-chrome google-chrome-extension local-storage


    【解决方案1】:

    答案取决于扩展名是否为content script

    如果是内容脚本,它会在页面的源中运行,因此使用页面的localStorage

    如果它不是内容脚本,那么根据this answer 对存储限制的问题,是的,您的扩展程序拥有自己的本地存储,因为它的来源是chrome-extension://EXTENSIONIDHERElocalStorage 按源存储,因此您的扩展程序将拥有自己的本地存储。

    作为替代方案,正如我在评论中提到的,您可以使用chrome.storage(适用于内容脚本和非内容脚本),它具有同步选项,可以存储对象而不仅仅是字符串,以及各种其他优点。

    【讨论】:

      【解决方案2】:

      谷歌浏览器发布存储API:http://developer.chrome.com/extensions/storage.html

      问题1:但是我想使用localStorage,问题是。扩展是否有自己的localStorage(我使用LS作为缩写)还是必须使用网站上的LS答案:是的问题2:如果扩展没有自己的LS,我怎样才能实现将一些数据保存在本地电脑?答:有,所以路过。

      【讨论】:

      • 没错,但它没有回答有关localStorage 的问题(这就是为什么我将其作为评论而不是在您发布答案时发布的原因)。
      • 是的,它有自己的本地存储。 docs:localStorage 对象是相对于“本地环境”的,这意味着google.com 上的localStorage 对象与stackoverflow.com 上的完全不同,显然与您的扩展程序后台页面中的完全不同.
      • 但实际上是扩展访问localStorage时使用的来源吗?扩展是一个有趣的野兽。我的意思是,我当然希望它是分开的......
      • “它是否使用 google.com”的答案似乎是“不”,这并不奇怪。
      • 问题一:但是我想用localStorage,问题是。扩展是否有自己的localStorage(我使用LS作为缩写)还是必须使用网站上的LS答案:是的问题2:如果扩展没有自己的LS,我怎样才能实现将一些数据保存在本地电脑?答:有,所以过去了。
      猜你喜欢
      • 2014-09-15
      • 2012-07-10
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 2012-11-10
      相关资源
      最近更新 更多