首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firefox简单存储和Firefox同步

Firefox简单存储和Firefox同步
EN

Stack Overflow用户
提问于 2014-04-27 01:35:20
回答 1查看 998关注 0票数 4

我目前正在将Chrome扩展转换为火狐插件,希望能够复制chrome.storage.sync功能。

但是,我无法找到使用简单存储存储的火狐外接程序存储的数据是否会在插件的用户被登录到火狐同步时自动同步。

考虑到通过后一种方法存储的所有数据都可以在用户配置文件中找到,我猜想它会.只要加载项在https://addons.mozilla.org上可用?

如能提供有关这一专题的任何资料,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-28 13:14:17

simple-storage不是同步的。但是你可以用很少的努力就能同步它。

它存储storage对象的诀窍是,它从定义上是可序列化的,作为字符串首选项并告诉同步服务同步它。

让我们将该首选项命名为syncstorage并将其标记为可同步的。

代码语言:javascript
复制
var self = require("sdk/self");
var prefs = require("sdk/preferences/service");
prefs.set("services.sync.prefs.sync.extensions." + self.id + ".syncstorage", true);

当将一些东西存储到simple-storage时,反映了对syncstorage的更改。

代码语言:javascript
复制
var sp = require("sdk/simple-prefs");
var ss = require("sdk/simple-storage");
sp.prefs["syncstorage"] = JSON.stringify(ss.storage);

对于相反的效果,请观察syncstorage的变化

代码语言:javascript
复制
sp.on("syncstorage", function(prefname){
  ss.storage = JSON.parse(sp.prefs["syncstorage"]);
})

最后但并非最不重要的一点是,只有在用户的明确同意下才能同步,这是很好的,也许也是强制性的。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23318396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档