2015-12-18 64 views
0

後幾個小時,試圖把事情的工作刪除,我有這樣的錯誤在我的控制檯:火狐插件SDK錯誤:無法從內部工具欄

[CustomizableUI] Widget action-button--myAddonID-misspelutton not found, unable to remove from inner-toolbar-myAddonID-the-title-of-my-addon1 CustomizableUI.jsm:171 

因此,該插件的插件ID以某種方式拼寫錯誤和卡住某處。該術語不會出現在我的任何代碼中。

詳細信息:我最初使用XUL疊加層構建了這個插件,並使用Firefox AddOn SDK重建它。我認爲(但我不確定)這個問題是這樣發生的:我從Firefox Addon Repo安裝了我的簽名插件,然後使用jpm post --post-url http://localhost:8888/將其安裝到運行Extension Auto-Installer的Firefox Developer Edition中。

在我的代碼我有這個,但我已經刪除,並其下屬的一切:

const { CustomizableUI } = Cu.import('resource:///modules/CustomizableUI.jsm', {}); 

[更新]

我自己也嘗試這樣的:卸載插件,進入自定義模式並選擇「恢復到默認值」,將所有工具欄重置爲默認值。然後我退出Firefox並重新啓動它。當我運行jpm安裝插件時,錯誤代碼依然存在。

有趣的事情也是這樣的:當我使用工具箱檢查器查看按鈕時,它顯示該按鈕的#id,就像在錯誤中一樣。

這樣說,如何解決問題而不創建新的Firefox配置文件?

回答

0

有東西在配置文件 「卡住」。

我在刪除所有與customizableUI相關的代碼後,卸載插件,然後使用自定義面板中的「恢復默認值」,重新啓動Firefox並重新安裝插件,但問題仍然存在,我知道這一點。的

因此,不是用這個和我現有的配置文件:

jpm post --post-url http://localhost:8888/ 

我用這對新鮮乾淨的運行它:

jpm run --binary "C:\Program Files (x86)\Firefox Developer Edition\firefox.exe" 

(我用的是post代替run因爲我運行了Firefox的多個實例,並且不希望run導致它們退出;但添加--binary以及到Firefox開發者的路徑確實有效)

在新的配置文件中,一切正常,甚至代碼利用CustomizableUI。在控制檯中沒有任何錯誤。

0

由於許多性能和可用性問題,'widget'模塊已被棄用,並且從Firefox 40開始已從SDK中刪除。請使用'sdk/ui/button/action'或'sdk/UI /按鈕/切換」模塊
https://developer.mozilla.org/Add-ons/SDK/High-Level_APIs/ui
https://developer.mozilla.org/Add-ons/SDK/Low-Level_APIs/ui_button_action
https://developer.mozilla.org/Add-ons/SDK/Low-Level_APIs/ui_button_toggle

+0

我使用customizableUI的原因是我可以附加一個mouseover事件到控件:http://stackoverflow.com/questions/34322949/firefox-addon-sdk-onmouseover-event-for-a-button/34344292 #34344292在我的老XUL插件這很容易完成。 SDK沒有辦法做到這一點。 – bgmCoder

+0

我刪除了使用該小部件的所有代碼,並且該消息仍然存在。我認爲這是卡在一些Firefox的緩存。 – bgmCoder