0

我正在创建一个Chrome扩展,它获取当前活动文本框并将预定义文本放入其中。Chrome扩展是否有他自己的localStorage

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

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

回答

3

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

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

如果它不是一个内容脚本,那么根据this answer有关存储限制的问题,是的,您的扩展获取自己的本地存储,因为它的原点是chrome-extension://EXTENSIONIDHERElocalStorage存储在每个来源,所以你的扩展将有它自己的本地存储。

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

0

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

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

+1

这是真的,但它不回答有关'localStorage'的问题(这就是为什么我发布它作为评论,而不是你发布答案的答案)。 –

+0

是的,它有自己的本地存储。 docs:localStorage对象是相对于“本地环境”,这意味着http://www.google.com上的localStorage对象与http://stackoverflow.com上的完全不同,并且显然是完全不同的不同于你的扩展的背景页面。 – coenni

+0

但是,它实际上是扩展访问'localStorage'时使用的原点吗?扩展是一个有趣的怪物。我的意思是,我当然希望它是单独的...... –

相关问题