Firefox addon SDK error: Unable to Remove from Inner-Toolbar

六眼飞鱼酱① 提交于 2020-01-06 15:05:49

问题


After hours and hours trying to get things working, I have this error in my console:

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

So, the addon's widget id is misspelled somehow and stuck somewhere. The term does not appear in any of my code.

Details: I originally built this addon using XUL overlays, and am rebuilding it with the Firefox AddOn SDK. I think (but I'm not sure) this problem happens like this: I installed my signed addon from the Firefox Addon Repo, and then I used jpm post --post-url http://localhost:8888/ to install it into Firefox Developer Edition running the Extension Auto-Installer.

In my code I had this, but I've removed it and everything that pertains to it:

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

[update]

I have also tried this: uninstall the addon, enter customization mode and choose "Restore to Defaults" which resets all the toolbars to default. Then I exited Firefox and restarted it. When I run jpm to install the addon, the error code persists.

Funny thing also is this: when I view the button using the toolbox inspector, it shows the #id of that button just like in the error.

With that said, how do I resolve the problem without creating a new firefox profile?


回答1:


The 'widget' module has been deprecated due to a number of performance and usability issues, and has been removed from the SDK as of Firefox 40. Please use the 'sdk/ui/button/action' or 'sdk/ui/button/toggle' module
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




回答2:


Something was "jammed" in the profile.

I knew this after I removed all code relating to customizableUI, then uninstalling the addon and then using "Restore Defaults" in the customization panel, restarting Firefox and reinstalling the addon, but the problem persisted.

So instead of using this with my existing profile:

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

I used this to run it on a fresh clean one:

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

(I was using post instead of run because I run multiple instances of Firefox and did not want run to cause them to exit; but adding --binary and the path to Firefox dev did the trick )

In a fresh profile everything works just fine, even with the code utilizing CustomizableUI. There are no errors relating to that in the console.



来源:https://stackoverflow.com/questions/34348230/firefox-addon-sdk-error-unable-to-remove-from-inner-toolbar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!