我正在尝试以.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使用了一种不同的方法来禁用插件 - 但我不知道它是什么......
答案 0 :(得分:2)
Firefox有一个用于XPCOM模块的缓存(“fastload cache”),如果模块无法加载Firefox将不再尝试。如果安装了扩展程序或更新了应用程序,则会自动重置缓存。从Firefox 4开始,您还可以使用-purgecaches
命令行标志来丢弃缓存。