默认情况下禁用系统范围内的某些Firefox插件

我为我们所有的用户安装了系统的firefox。 不幸的是,Adobe Reader插件相当不灵活,并且在某些时候不起作用。 因此,我希望为所有用户默认禁用该插件,但仍然允许他们通过标准的Tools-> Add-ons-> Plug-ins菜单选项来启用它。 我怎样才能让这个插件的启用/禁用状态被默认禁用?

我已经能够通过在mozilla根文件夹文件defaults/pref/all.js设置首选项来configuration系统范围的configuration,但启用/禁用的插件似乎没有configuration在首选项中。

[编辑1]:我发现'如何pipe理pluginreg.dat文件中的firefox插件' ,它解释了pluginreg.dat文件的一些格式。 从那里我可以看到标志被掩盖如下(从nsPluginHostImpl.h ):

 #define NS_PLUGIN_FLAG_ENABLED 0x0001 // is this plugin enabled? #define NS_PLUGIN_FLAG_OLDSCHOOL 0x0002 // is this a pre-xpcom plugin? #define NS_PLUGIN_FLAG_FROMCACHE 0x0004 // this plugintag info was loaded from cache #define NS_PLUGIN_FLAG_UNWANTED 0x0008 // this is an unwanted plugin #define NS_PLUGIN_FLAG_BLOCKLISTED 0x0010 // this is a blocklisted plugin 

但有没有办法将此添加到默认值,以便NS_PLUGIN_FLAG_ENABLED默认被删除?

现在, 插件的设置现在已经集成在Firefox 22的about:config中,完全在23+中。 键名是plugin.state。*其中*表示Firefox为发现的插件使用的内部命名机制 。 对于禁用( 从不在Firefox 工具 (Alt + T)> 插件 > 插件 )中激活的值(整数)为0,点击播放( Ask to Activate )为1,启用( Always Activate )为2。 火狐22有0和2,和23 +包括所有这三种状态。 在about:config中切换plugins.click_to_play为true后触发状态(1)。

获得Firefox使用的正确名称的一种方法是从参考/ IT PC。 切换所有发现的插件(Firefox工具(Alt + T)>插件>插件)的默认状态一次,以显示about:config中对应的plugin.state。*键。

使用lock(策略)文件 ,可以使用defaultPref()pref()来设置初始首选项,即非强制性 – 用户稍后可以更改插件的初始设置状态 – lockPref()可用于设置策略即强制 – 用户不能改变状态。

例如defaultPref(“plugin.state.flash”,0); 为用户可能更改的Flash插件设置初始禁用状态,或lockPref(“plugin.state.flash”,0); locking状态。

还包括要求激活 (1):

defaultPref(“plugins.click_to_play”,true); OR lockPref(“plugins.click_to_play”,true);
defaultPref(“plugin.state.flash”,1);

about:config条目 , configuration描述addon