如何存储谷歌浏览器扩展程序的首选项

How can I store preferences for a Google Chrome extension?

本文关键字:扩展 程序 首选项 谷歌浏览器 何存储 存储      更新时间:2023-09-26

举一个简单的例子,假设我想在每个网页的底部插入一个单词,我希望用户能够更改该单词。所以我有一个选项页面(在扩展中),我在其中接受用户输入并使用它来调用"localStorage.preferences = x;"。

接下来,用户导航到 http://www.google.com/,我注入一个脚本,该脚本写入在localStorage.preferences中找到的单词。问题是,由于我现在在不同的域,所以我看到的是 google.com 的本地存储,而不是我的扩展名。

如何在扩展的选项页和注入到某个第三方网页的脚本之间共享数据?

这也许不是对您的问题最直接的回答,但可能解决此问题的一种方法是使用消息传递来伪造从另一个域直接访问本地存储。假设你在内容脚本的上下文中运行Javascript,你可以向后台传递一条消息,要求输入密钥,这将返回localStorage的内容。