2011-10-31 35 views
1

我想以.so共享對象文件的形式測試一個Mozilla插件(使用FireBreath開發)。這個插件是在Ubuntu上開發的,它工作正常。Firefox是否禁用無法初始化的插件?

我現在想它的OpenSUSE下 - 所以我第一個符號鏈接的.so文件中~/.mozilla/plugins

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

...然後在命令行(7)跑的Firefox:

> /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 - 仍然沒有錯誤信息!

所以,這告訴我,可能是火狐莫名其妙禁用/黑名單插件(但哪一個?libXext,npXXX或兩者),但搜索的「(grepping)爲(NP)XXX /路徑/到/ myprofile/blocklist.xml'不會返回任何內容(插件應該使用類似電子郵件的ID,而不是那些數字的GUID,所以我希望該字符串在blocklist.xml中顯示,如果它存在的話)。

是否有人知道:Firefox的默認行爲是禁用/阻塞列表插件,一開始無法加載?如果是這樣,有沒有辦法強制Firefox再次加載它們(並吐出錯誤信息)?如果你也有鏈接到這種行爲記錄的地方,它將不勝感激:)

非常感謝在任何答案,
乾杯!

 

注:後我停下來看到的錯誤訊息,我做了以下內容:

  • 我想 「about:plugins 」:「 沒有啓用插件找到」;
  • 然後嘗試「about:addons」,然後在插件下單擊:「您沒有安裝此類型的任何附加組件」;

這個插件是沒有嵌入的延伸,所以沒有什麼新的應在「about:addons」下的「擴展」添加 - 如預期,沒有什麼新節目那裏。在Ubuntu(所有作品)下,只需將插件符號鏈接到~/.mozilla/plugins,上述兩個位置/屏幕開始顯示插件信息。如果它只是將插件顯示爲「禁用」,也許我會有機會重新啓用它(以獲得新的一批錯誤消息) - 但是, 「about:plugins」和「about:addons」完全沒有顯示任何內容 - 所以我沒有什麼可以使用的。這告訴我,Firefox使用了不同的方法來禁用插件 - 但我不知道它是什麼...

+1

您可以通過管理器(最近的Firefoxes中的shift-ctrl-A)檢查您的Addins/extensions列表。一旦插件/擴展標記爲禁用,FF將不會嘗試再次加載它。 –

+1

嘗試刪除'〜/ .mozilla/firefox/*/pluginreg.dat'。 –

+0

Cheers,@MarcB - 我編輯了原帖以澄清:在我停止看到錯誤消息之後,在「'about:addons'」和「about:plugins'」都沒有顯示與此插件相關的內容。 – sdaau

回答

2

Firefox有一個XPCOM模塊緩存(「fastload cache」),如果一個模塊出現故障加載Firefox不會再試一次。如果安裝了擴展程序或應用程序已更新,則緩存會自動重置。從Firefox 4開始,您還可以使用-purgecaches命令行標誌來放棄緩存。

+0

非常感謝你,@Wladimir Palant - 據我所知,FireBreath創建了NPAPI插件(我猜這意味着它們不是XPCOM插件) - 仍然非常瞭解'-purgecaches' ...乾杯! – sdaau

相關問題