【发布时间】:2017-03-25 10:55:14
【问题描述】:
我正在创建一个 Chrome 扩展程序,它获取当前活动的文本框并将预定义的文本放入其中。
我想使用localStorage,问题是。 扩展是否有自己的 localStorage,还是必须使用网站上的 LS?
如果扩展没有自己的LS,如何实现在本地计算机上保存一些数据?
【问题讨论】:
标签: javascript html google-chrome google-chrome-extension local-storage
我正在创建一个 Chrome 扩展程序,它获取当前活动的文本框并将预定义的文本放入其中。
我想使用localStorage,问题是。 扩展是否有自己的 localStorage,还是必须使用网站上的 LS?
如果扩展没有自己的LS,如何实现在本地计算机上保存一些数据?
【问题讨论】:
标签: javascript html google-chrome google-chrome-extension local-storage
答案取决于扩展名是否为content script。
如果是内容脚本,它会在页面的源中运行,因此使用页面的localStorage。
如果它不是内容脚本,那么根据this answer 对存储限制的问题,是的,您的扩展程序拥有自己的本地存储,因为它的来源是chrome-extension://EXTENSIONIDHERE。 localStorage 按源存储,因此您的扩展程序将拥有自己的本地存储。
作为替代方案,正如我在评论中提到的,您可以使用chrome.storage(适用于内容脚本和非内容脚本),它具有同步选项,可以存储对象而不仅仅是字符串,以及各种其他优点。
【讨论】:
谷歌浏览器发布存储API:http://developer.chrome.com/extensions/storage.html
问题1:但是我想使用localStorage,问题是。扩展是否有自己的localStorage(我使用LS作为缩写)还是必须使用网站上的LS答案:是的问题2:如果扩展没有自己的LS,我怎样才能实现将一些数据保存在本地电脑?答:有,所以路过。
【讨论】:
localStorage 的问题(这就是为什么我将其作为评论而不是在您发布答案时发布的原因)。
localStorage时使用的来源吗?扩展是一个有趣的野兽。我的意思是,我当然希望它是分开的......