7

我有一个简单的扩展,可以将一些数据保存到 chrome 存储

var dt = new Date();
var item = {};
item[$('#qteSymb').text() + "-" + guid()] = $('#newnote').val() + "-:-" + $.datepicker.formatDate('mm/dd/yy', dt) + " " + dt.getHours() + ":" + (dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes());           
chrome.storage.sync.set(item, function(){
    renderNotes();
});   

这在本地运行良好 - 我的扩展程序按预期工作 - 但它不会同步回另一台计算机。我假设两台计算机上的同步都是开启的,因为书签、扩展等同步很好。

谢谢!

4

1 回答 1

15

所以我终于想通了。不使用 Chrome 网上应用店时,您的清单文件应包含密钥 ( https://developer.chrome.com/extensions/manifest.html#key )

...
"key":"myawesomeextension"
...

如果每次在不同的设备上安装扩展程序(通过 chrome://extensions/ --> 加载未打包的扩展程序)时没有这个,它会获得一个新的 id,因此正在同步的数据不会与正确的扩展程序匹配 - 相同的扩展程序具有不同的 id = Chrome 眼中的两个不同的扩展。

一旦扩展在 Chrome 网上应用店中,就不需要密钥了。希望这可以帮助某人在某些时候保持一些头发。

于 2013-08-01T03:53:34.237 回答