chrome.storage.sync不在浏览器之间同步

时间:2014-02-27 19:49:05

标签: javascript google-chrome-extension

我正在编写一个chrome扩展程序,我希望在多台计算机上同步一些数据。我的印象是,如果我使用相同的gmail帐户“登录”到两个单独的Chrome浏览器(在同一台计算机上运行的虚拟机中),我应该能够使用chrome.storage.sync.set在一个浏览器上,然后使用chrome.storage.sync.get从另一个浏览器中检索相同的数据?

我可以使用get方法从我运行set方法的同一浏览器中检索数据(甚至来自单独的隐身窗口),但是另一个虚拟机上的相同get命令返回一个空对象。

两款浏览器都具有“高级同步设置”中设置的“同步所有内容”选项。 两种浏览器都具有相同的chrome版本:33.0.1750.117 m。

以下是我设置和获取的代码:

chrome.storage.sync.set({'foo': 'bar'}, function() {});

chrome.storage.sync.get('foo', function(items) {
    console.dir(items);
});

1 个答案:

答案 0 :(得分:0)

正如@abraham和@sowbug都提到的那样,问题是当加载解压缩的扩展时,他们会被分配不同的扩展ID。 我在这里找到了解决方案:https://developer.chrome.com/extensions/packaging#upload 它涉及从chrome中的扩展页面打包扩展,然后加载生成的.crx文件。每次加载.crx文件时,它都将具有相同的扩展名。