Firefox是否禁用无法初始化的插件?

时间:2011-10-31 16:05:07

标签: linux plugins firefox-addon

我正在尝试以.so共享对象文件的形式测试Mozilla插件(使用FireBreath开发)。该插件是在Ubuntu上开发的,它运行良好。

我现在正在OpenSUSE下尝试 - 所以我首先在.so中对~/.mozilla/plugins文件进行符号链接:

> ln -s /path/to/npXXX.so ~/.mozilla/plugins/

...然后从命令行运行Firefox(7):

> /path/to/firefox -P myprofile
...
LoadPlugin: failed to initialize shared library libXext.so [libXext.so: cannot open shared object file: No such file or directory]
LoadPlugin: failed to initialize shared library /path/to/npXXX.so [/path/to/npXXX.so: undefined symbol: gtk_widget_get_mapped]
# and the LoadPlugin messages do NOT show a second time - probably because plugin is disabled (via about:addons). 

所以我想尝试不同的东西来研究这个 - 但首先,我重新启动了Firefox,并意识到在第二次运行时我做而不是得到“ LoadPlugin:失败了再次初始化“消息!然后我尝试删除插件符号链接,然后重启FF;并再次添加,并重新启动FF - 仍然没有错误消息!

所以,这告诉我,Firefox可能以某种方式禁用/黑名单插件(但是哪一个:libXext,npXXX或两者?),但搜索(grepping)for(np)XXX in'/ path / to / myprofile / blocklist.xml'什么都不返回(插件应该使用类似电子邮件的id,而不是那些数字GUID,所以我希望字符串在blocklist.xml中显示,如果它在那里)。

有谁知道:Firefox是禁用/阻止列表插件的默认行为,首先无法加载?如果是这样,有没有办法强制Firefox再次加载它们(并吐出错误信息)?如果您还有指向此行为记录的链接,那将非常感谢:)

非常感谢任何答案,
干杯!

注意:在我停止看到错误消息后,我执行了以下操作:

  • 我正在尝试“about:plugins”:“找不到已启用的插件”;
  • 然后尝试“about:addons”,然后点击插件下方:“您没有安装此类型的附加组件”;

此插件未嵌入扩展程序中,因此在“扩展程序”下的“about:addons”中不应添加任何新内容 - 正如预期的那样,没有任何新内容显示在那里。在Ubuntu下(一切正常),只需将插件符号链接到~/.mozilla/plugins,上面两个位置/屏幕就会开始显示插件信息。

这令我感到困惑的一件事 - 如果它只是将插件显示为“禁用”,也许我会有机会再次重新启用它(以获得一批新的错误消息) - 但是,“ about:plugins“和”about:addons“根本没有显示任何内容 - 所以我无法用它来启用它。这告诉我Firefox使用了一种不同的方法来禁用插件 - 但我不知道它是什么......

1 个答案:

答案 0 :(得分:2)

Firefox有一个用于XPCOM模块的缓存(“fastload cache”),如果模块无法加载Firefox将不再尝试。如果安装了扩展程序或更新了应用程序,则会自动重置缓存。从Firefox 4开始,您还可以使用-purgecaches命令行标志来丢弃缓存。