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

And*_*ase 2 firefox

我为所有用户在系统范围内安装了 Firefox。不幸的是,Adobe Reader 插件相当脆弱,有时无法正常工作。因此,我想默认为所有用户禁用插件,但如果他们愿意,仍然允许他们通过标准工具->附加组件->插件菜单选项启用它。默认情况下,如何禁用此插件启用/禁用状态?

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

[编辑 1]:我找到了“如何管理 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
Run Code Online (Sandbox Code Playgroud)

但是有没有办法将其添加到默认值中,以便默认情况下删除 NS_PLUGIN_FLAG_ENABLED ?

vWi*_*Wil 6

从Firefox 22 开始,插件的设置现在部分集成在about:config中,而在 23+ 中则完全集成。键名是plugin.state.*其中 * 表示Firefox为发现的插件使用内部命名方案。值(整数)是 0 表示禁用(在 Firefox工具中从不激活(Alt + T)>附加组件>插件),1 表示点击播放(询问激活),2 表示启用(始终激活)。Firefox 22 有 0 和 2,而 23+ 包括所有三个状态。在切换plugins.click_to_play后触发状态Ask to Activate (1)about:config 中为真。

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

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

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

还包括请求激活(1):

defaultPref("plugins.click_to_play", true); lockPref("plugins.click_to_play", true);
defaultPref("plugin.state.flash", 1);

about:config Entries , Config Descriptions 插件