Firefox插件:将首选项还原为其原始值
如果加载项在其自己的首选项分支之外更改了首选项,则应在卸载加载项时将其恢复到以前的状态(不一定是默认状态) 我想,当前的首选项必须保存,然后在卸载时用于恢复。Firefox插件:将首选项还原为其原始值,firefox,firefox-addon,firefox-addon-restartless,Firefox,Firefox Addon,Firefox Addon Restartless,如果加载项在其自己的首选项分支之外更改了首选项,则应在卸载加载项时将其恢复到以前的状态(不一定是默认状态) 我想,当前的首选项必须保存,然后在卸载时用于恢复。 运行AddonManager.addonListener()似乎是一种选择(但要连续运行进程!)。还有其他选择吗 在引导加载项中,有一个函数uninstall(){},但是在覆盖加载项中是如何实现的呢 关于该主题的其他有用主题(但未完全回答此问题): 更新 连续运行一个进程,我的意思是,运行一个侦听器/进程,例如,一个可能每年发生一次
运行
AddonManager.addonListener()
似乎是一种选择(但要连续运行进程!)。还有其他选择吗
在引导加载项中,有一个函数uninstall(){}
,但是在覆盖加载项中是如何实现的呢
关于该主题的其他有用主题(但未完全回答此问题):更新 连续运行一个进程,我的意思是,运行一个侦听器/进程,例如,一个可能每年发生一次的事件。我已经想到了另一种更有效的方法,但由于这是一种假设情况,我没有任何东西可以测试它。使用旧版叠加插件时,使用是正确的选择 我不知道你说的
是什么意思,但是要连续运行一个进程代码>,并且没有新进程正在运行。使用旧版覆盖插件时,使用是正确的路径
我不知道你说的是什么意思,但是要连续运行一个进程代码>,并且没有新进程正在运行。不,您不应该连续运行进程,也不应该让侦听器监听您更改的任何首选项。没有理由这样做。对于您描述的应用程序,您不需要知道首选项何时更改。您只需知道偏好是什么:
在你改变它之前
你把它改成什么
卸载时它是什么
您无需跟踪中间更改。因此,没有听众
卸载时,如果首选项是您将其更改为的值,请将其更改回更改前的值。如果是未设置的值,则用户或其他扩展将其更改,并且您不应将其更改回安装扩展之前的值(即,您不应撤消用户手动设置或通过其他扩展设置的内容)
但是,如果您是覆盖扩展,则应添加一个,以便检测何时(或将)禁用/卸载您的加载项。这样,您就可以知道何时应该重新更改首选项
阅读可能是个好主意
这个问题提供了一些很好的信息:不,您不应该连续运行流程,也不应该让侦听器监听您更改的任何首选项。没有理由这样做。对于您描述的应用程序,您不需要知道首选项何时更改。您只需知道偏好是什么:
在你改变它之前
你把它改成什么
卸载时它是什么
您无需跟踪中间更改。因此,没有听众
卸载时,如果首选项是您将其更改为的值,请将其更改回更改前的值。如果是未设置的值,则用户或其他扩展将其更改,并且您不应将其更改回安装扩展之前的值(即,您不应撤消用户手动设置或通过其他扩展设置的内容)
但是,如果您是覆盖扩展,则应添加一个,以便检测何时(或将)禁用/卸载您的加载项。这样,您就可以知道何时应该重新更改首选项
阅读可能是个好主意
这个问题有一些很好的信息:是的,唯一的方法是检查并存储初始的pref,然后稍后再解决,如果您想将其恢复为默认值,则可以轻松调用清除函数。重置为默认值(顺便说一句,如果未设置默认值,调用清除
功能将删除该pref)。函数名我可能弄错了,可能是clearPref
或类似的东西。是的,唯一的方法是检查并存储初始的pref,然后稍后再重新处理,如果您希望它恢复为默认值,这很容易调用clear
函数。重置为默认值(顺便说一句,如果未设置默认值,调用清除
功能将删除该pref)。函数名我可能弄错了,可能是clearPref
或类似的东西。为什么addonListener
不能用于引导呢?我看不出有任何问题。@Noitidart它会,但在引导加载项中并不需要侦听器,因为在bootstrap.js
中已经有了可以实现的uninstall
方法。为什么addonListener
也不能用于引导?我看不出有任何问题。@Noitidart会的,但在引导加载项中并不需要侦听器,因为已经有了可以在bootstrap.js
中实现的uninstall
方法。