Firefox扩展开发:观察首选项,避免多次通知

时间:2010-05-10 06:04:35

标签: firefox preferences

假设我的Firefox扩展程序有多个首选项,但其中一些是分组的,例如检查间隔,失败重试间隔,目标网址。这些仅用于单一功能。

当我订阅首选项服务并添加观察者时,将为每个更改的首选项调用observe回调,因此如果用户偶然更改了组中的所有设置,那么我将不得不执行相同的例程对于同一个子系统,因为我在该首选项组中有多个项目。这是一个很好的冗余!

我想要的是observe只为一组首选项调用一次。说

extensions.myextension.interval1
extensions.myextension.site
extensions.myextension.retry

因此,如果更改了其中一个或所有首选项,我只会收到1个关于它的通知。换句话说,无论分支中有多少首选项更改,我都希望observe回调调用一次。

1 个答案:

答案 0 :(得分:0)

当您在分支上注册pref观察者时(在您的情况下,extensions.myextension),它会通知您有关每个首选项更改的信息。没有办法让它只告诉你一次关于分支的变化。调用observe方法时,您会获得更改的首选项的名称(它是第三个参数)。你必须根据它来过滤你的回调。

相关问题