Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox addon FirefoxSDK简单存储和Firefox同步_Firefox Addon_Firefox Addon Sdk - Fatal编程技术网

Firefox addon FirefoxSDK简单存储和Firefox同步

Firefox addon FirefoxSDK简单存储和Firefox同步,firefox-addon,firefox-addon-sdk,Firefox Addon,Firefox Addon Sdk,我目前正在将一个Chrome扩展转换为Firefox插件,希望能够复制Chrome.storage.sync功能 但是,我无法确定Firefox加载项使用时存储的数据是否会在加载项用户登录时自动同步 鉴于通过后一种方法存储的所有数据都可以在用户配置文件中找到,我认为它将。。。只要附加组件在上可用 非常感谢您提供有关此主题的任何信息。简单存储不同步。但是你可以轻松地同步它 存储存储对象的技巧是,根据定义,它可以序列化为字符串首选项,并告诉同步服务同步它 让我们命名该首选项syncstorage,并

我目前正在将一个Chrome扩展转换为Firefox插件,希望能够复制Chrome.storage.sync功能

但是,我无法确定Firefox加载项使用时存储的数据是否会在加载项用户登录时自动同步

鉴于通过后一种方法存储的所有数据都可以在用户配置文件中找到,我认为它将。。。只要附加组件在上可用


非常感谢您提供有关此主题的任何信息。

简单存储
不同步。但是你可以轻松地同步它

存储
存储
对象的技巧是,根据定义,它可以序列化为字符串首选项,并告诉同步服务同步它

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

var self=require(“sdk/self”);
var prefs=require(“sdk/首选项/服务”);
prefs.set(“services.sync.prefs.sync.extensions.”+self.id+“.syncstorage”,true);
将某些内容存储到
简单存储时
反映对
同步存储的更改

var sp=require(“sdk/simple prefs”);
var ss=需要(“sdk/简单存储”);
sp.prefs[“syncstorage”]=JSON.stringify(ss.storage);
要获得相反的效果,请查看更改
syncstorage

sp.on(“同步存储”,函数(prefname){
ss.storage=JSON.parse(sp.prefs[“syncstorage”]);
})

最后但并非最不重要的一点是,只有在用户明确同意的情况下才进行同步可能是很好的,而且可能是强制性的。

简单存储
不同步。但是你可以轻松地同步它

存储
存储
对象的技巧是,根据定义,它可以序列化为字符串首选项,并告诉同步服务同步它

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

var self=require(“sdk/self”);
var prefs=require(“sdk/首选项/服务”);
prefs.set(“services.sync.prefs.sync.extensions.”+self.id+“.syncstorage”,true);
将某些内容存储到
简单存储时
反映对
同步存储的更改

var sp=require(“sdk/simple prefs”);
var ss=需要(“sdk/简单存储”);
sp.prefs[“syncstorage”]=JSON.stringify(ss.storage);
要获得相反的效果,请查看更改
syncstorage

sp.on(“同步存储”,函数(prefname){
ss.storage=JSON.parse(sp.prefs[“syncstorage”]);
})

最后但并非最不重要的一点是,只有在用户明确同意的情况下才进行同步可能是很好的,而且可能是强制性的。

我不确定,但如果您可以访问两台计算机或一部Android手机/平板电脑,则很容易进行测试(.Android版Firefox中不提供首选项和加载项同步。我不确定,但如果您可以访问两台电脑或一部Android手机/平板电脑,则很容易测试(.Preference和addon Synching在Android版Firefox中不可用。感谢@paa!现在,这是有意义的。感谢@paa,我已经部分完成了这项工作。我可以看到本地pref更改和其他加载项安装的更改是以这种方式进行的,但我没有成功合并。相反,我得到的是
Sync.Engine.Prefs警告数据。)S:记录的本地和远程更改:LONG_ID_VALUE
@stackunderflow这只是一个使
简单存储
可同步的技巧。解决合并冲突远远不止于此。如果
简单存储
对象较大和/或复杂,请尝试将其同步到较小的独立块中。如果这没有什么区别然后描述重现错误的确切步骤。感谢paa的澄清。同时,我能够在linux和windows xp之间通过以下方式实现合并同步。Android版Firefox中没有同步太糟糕的首选项。感谢@paa!现在,这是有意义的。感谢@paa,我已经在部分工作。我可以n看到本地pref更改和其他加载项安装的更改是以这种方式出现的,但我没有获得成功的合并。相反,我得到了
Sync.Engine.Prefs警告数据丢失:记录的本地和远程更改:LONG\u ID\u VALUE
@stackunderflow这只是一个使
简单存储
可同步的黑客攻击。解决合并冲突远远超出此范围。如果您的
简单存储
对象较大和/或复杂,请尝试在较小的独立块中对其进行同步。如果这没有影响,请描述复制错误的确切步骤。感谢paa的澄清。同时,我能够使用follo在linux和windows xp之间实现合并同步太糟糕了,Android版Firefox没有同步首选项。