Использование add-on SDK для добавления кнопок панели инструментов? Интеграция XUL и Add-on SDK для Firefox дополнений?
Я уже закодировал большую часть дополнения Firefox с помощью API SDK Add-on. Теперь я обнаруживаю, что Add-on SDK может быть недостаточно мощным для моих целей. Мне нужны две вещи:--3-->
- кнопка раскрывающегося списка на панели инструментов рядом со строкой местоположения.
- чтобы изменить менеджер надстроек в firefox
это действительно разочаровывает, но я не верю, что любой из них возможен с помощью Add-on SDK.
прежде всего, я понимаю есть widget
модуль в API SDK надстройки. Но это позволяет мне только добавить простой значок или метку в неудобную панель надстройки. Что делать, если мне нужно добавить более приятную кнопку, например, рядом с панелью местоположения для Firebug или Greasemonkey? Что касается изменения менеджера дополнений в firefox, я пробовал XUL Николая Пономарева с дополнением SDK без какого-либо успеха. Если кто-нибудь знает, как заставить это работать и может указать мне в правильном направлении, это было бы чрезвычайно полезно (cfx init --template xul
не делает ничего, что обычный SDK делает, когда я пытаюсь)
3 ответов
вы смотрели на модуль toolbarbutton Эрика Вольда?
https://github.com/erikvold/toolbarbutton-jplib/
можно получить доступ ко всем внутренним API Firefox в модулях SDK, требуя привилегий chrome; это просто не будет так просто, как API высокого уровня addon-kit.
toolbarbuttonlib-jplib, упомянутый выше, больше не существует, но попробуйте toolbarwidget-jplib. Это работает как шарм! Общая спасительница.
попробовал XUL Николая Пономарева с реактивным ранцем без успеха. Если кто-нибудь знает, как заставить это работать и может указать мне в правильном направлении, что было бы очень полезно (cfx init --template xul не делает ничего, что делает обычный sdk, когда я пытаюсь)
Я очень хотел бы услышать подробное описание того, что вы пытались и как именно это не удалось. Я не могу ответить на вопрос в его нынешнем виде.
I не верьте, что это возможно с JetPack.
вы имеете в виду использование только встроенных модулей SDK высокого уровня. Можно написать низкоуровневый модуль SDK, который использует XPCOM и взаимодействует с кодом chrome напрямую для реализации необходимых функций-в конце концов, именно так реализованы остальные модули SDK. Если вы пойдете по этому маршруту, вы потеряете будущее обещание совместимости SDK, хотя -- вам придется либо включить его в восходящий SDK, либо обновить его для себя новых версий Firefox.