2015-12-18 2 views
0

После нескольких часов и часов, пытаясь получить вещи работать, у меня есть эта ошибка в моей консоли:Firefox ошибка Аддон SDK: Невозможно удалить из внутренней-панели

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

Таким образом, идентификатор виджета аддон является орфографической ошибкой как-то и где-то застрял. Этот термин не отображается ни в одном из моих кодов.

Подробности: Я изначально построил этот аддон, используя наложения XUL, и перестраиваю его с помощью Firefox AddOn SDK. Я думаю (но я не уверен) эта проблема происходит следующим образом: я установил свой подписанный аддон из Firefox Addon Repo, а затем использовал jpm post --post-url http://localhost:8888/, чтобы установить его в Firefox Developer Edition с Extension Auto-Installer.

В моем коде я имел, но я удалил его и все, что имеет отношение к нему:

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 dev сделал трюк)

В новом профиле все работает отлично, даже с код CustomizableUI. В консоли нет ошибок, связанных с этим.

0

Модуль «виджет» устарел из-за ряда проблем производительности и удобства использования и был удален из SDK с Firefox 40. Используйте «sdk/ui/button/action» или «sdk/щ// «модуль переключения кнопка
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