0

作为一个简单的例子,假设我想在每个网页的底部插入一个单词,并且我希望用户能够更改该单词。所以我有一个选项页面(在扩展名内),我在其中输入用户名并使用它来调用“localStorage.preferences = x;”。如何存储Google Chrome扩展程序的偏好设置?

接下来,用户导航到http://www.google.com/,然后我注入一个脚本,该脚本将localStorage.preferences中找到的单词写入。问题是,由于我现在处于不同的域,因此我看到google.com的localStorage,而不是我的扩展。

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

+0

它不可能,因为它违反了跨域策略。这可能会有所帮助:http://www.nczonline.net/blog/2010/09/07/learning-from-xauth-cross-domain-localstorage/ – codef0rmer 2012-04-12 05:22:19

回答

2

这不是对你的问题最直接的回应,但是一种可能解决这个问题的方法是使用message passing假冒从另一个域直接访问本地存储。假设您正在内容脚本的上下文中运行Javascript,则可以将消息传递给后台页面以询问密钥,该密钥将返回localStorage的内容。

+0

我非常熟练使用Chrome扩展开发,并且打算给出确切的答案。消息传递绝对是要走的路。 – 2012-04-12 07:05:23

相关问题