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