Comments 17
Небольшое дополнение. Неделю назад я писал на хабре статью о расширении для Firefox. Что я могу сказать про Firefox:
Для небольших расширений даже проще сделать расширение, не требующее перезапуска. Но техника в этом случае будет другая: если в обычных расширениях нужны оверлеи и chrome.manifest, то в «моментальных» это никак не поможет. Всё, что есть на исполнении — файл bootstrap.js. Также там в глобальном пространстве недоступны функции window.*, например, alert(). Впрочем, можно достучаться до любого элемента интерфейса с помощью getElementById. Всего два рабочих файла: bootstrap.js и install.rdf, запаковываем в архив и расширение готово.
Если не охота копаться с idl-интерфейсами mozilla, можно использовать конструктором builder.addons.mozilla.org. Это очень удобный онлайн-редактор самостоятельных расширений со специальным api, клонирующим api от jetpack. В редакторе ещё и семантическая проверка. Кроме того, все расширения этого конструктора не требуют перезапуска.
Примеры кода можно взглянуть на том же сайте jetpack (перевод по контекстному меню).
По поводу времени на анализ кода — очень мягко сказано. Это у них на вики написано, что 1-2 недели. На практике full review расширений сейчас занимает по 8 недель(!). Сейчас у них 439 расширений на очередь full review (еженедельные новости о ходе проверок на blog.mozilla.com/addons). Более того, через эти 8 недель в подтверждении могут отказать на основании плохого кода (например, загрязнения глобального пространства имён) или из-за бесполезности расширения. Например, таковым было признано моё расширение сброса настроек локализации, убирающее следы от яндекса в локализованной версии. Видимо, они считают, что по запросу Reader я каждый день захожу на сайт Adobe Reader почитать свежие новости, а по запросу Mail — на mail.ru. Судьба такого расширения — пройти preliminary review и оставаться навсегда в статусе экспериментального. Preliminary review проводится быстрее и требования для него значительно ниже.
Впрочем, чтобы просто опубликовать расширение на mozilla.org никаких проверок не требуется. Однако непроверенные и экспериментальные расширения не отображаются в поиске расширений, что значительно влияет на популярность расширения. В качестве примера — расширение UnityFox: более 7000 установок за 11 дней, несмотря на статус непроверенного расширения. Большая часть пользователей пришла с OMG! Ubuntu и хабра.
Для небольших расширений даже проще сделать расширение, не требующее перезапуска. Но техника в этом случае будет другая: если в обычных расширениях нужны оверлеи и chrome.manifest, то в «моментальных» это никак не поможет. Всё, что есть на исполнении — файл bootstrap.js. Также там в глобальном пространстве недоступны функции window.*, например, alert(). Впрочем, можно достучаться до любого элемента интерфейса с помощью getElementById. Всего два рабочих файла: bootstrap.js и install.rdf, запаковываем в архив и расширение готово.
Если не охота копаться с idl-интерфейсами mozilla, можно использовать конструктором builder.addons.mozilla.org. Это очень удобный онлайн-редактор самостоятельных расширений со специальным api, клонирующим api от jetpack. В редакторе ещё и семантическая проверка. Кроме того, все расширения этого конструктора не требуют перезапуска.
Примеры кода можно взглянуть на том же сайте jetpack (перевод по контекстному меню).
По поводу времени на анализ кода — очень мягко сказано. Это у них на вики написано, что 1-2 недели. На практике full review расширений сейчас занимает по 8 недель(!). Сейчас у них 439 расширений на очередь full review (еженедельные новости о ходе проверок на blog.mozilla.com/addons). Более того, через эти 8 недель в подтверждении могут отказать на основании плохого кода (например, загрязнения глобального пространства имён) или из-за бесполезности расширения. Например, таковым было признано моё расширение сброса настроек локализации, убирающее следы от яндекса в локализованной версии. Видимо, они считают, что по запросу Reader я каждый день захожу на сайт Adobe Reader почитать свежие новости, а по запросу Mail — на mail.ru. Судьба такого расширения — пройти preliminary review и оставаться навсегда в статусе экспериментального. Preliminary review проводится быстрее и требования для него значительно ниже.
Впрочем, чтобы просто опубликовать расширение на mozilla.org никаких проверок не требуется. Однако непроверенные и экспериментальные расширения не отображаются в поиске расширений, что значительно влияет на популярность расширения. В качестве примера — расширение UnityFox: более 7000 установок за 11 дней, несмотря на статус непроверенного расширения. Большая часть пользователей пришла с OMG! Ubuntu и хабра.
+13
не понял пассажа про платную регистрацию в webstore, идешь в dashboard (https://chrome.google.com/webstore/developer/dashboard) жмешь Add new item и т.д.
0
Для публикации в webstore надо оплатить регистрацию, иначе аддоны не появятся в списке магазина аддонов.
0
Из официального FAQ:
Why am I being asked to pay a registration fee?
The new registration fee helps to prevent fraud in the Chrome Web Store.
Why am I not being asked to pay a registration fee?
The fee is waived for developers who signed up with the Chrome Extensions Gallery before August 19, 2010.
Why am I being asked to pay a registration fee?
The new registration fee helps to prevent fraud in the Chrome Web Store.
Why am I not being asked to pay a registration fee?
The fee is waived for developers who signed up with the Chrome Extensions Gallery before August 19, 2010.
+1
Зачепяток не менее, чем четыре: «функции сприптов», «для Crome», «открытой старницы», «фреймворк всключен».
А за инфу спасибо.
А за инфу спасибо.
0
Components.classes["@mozilla.org/moz/jssubscript-loader;1"].getService(Components.interfaces.mozIJSSubScriptLoader).loadSubScript("chrome://leprokartinki/content/jquery.js");
Этот вызов загрузит jQuery в глобальный контекст что не очень хорошо т.к. все аддоны в FF исполняются в одном контексте и могут возникнуть конфликты. Рекомендую использовать jQuery.noConflict и загружать jQuery не в глобальный контект (см. документацию к mozIJSSubScriptLoader).
+2
>Вы не сможете вызывать из своего адд-она функции сприптов, внедренные в веб-страницу и наоборот.
тут хотелось бы уточнить: со скриптами на страницах можно косвенно взаимодействовать через события. Например, можно послать событие нажатия кнопки и запустить тем самым обработчик из кода страницы.
тут хотелось бы уточнить: со скриптами на страницах можно косвенно взаимодействовать через события. Например, можно послать событие нажатия кнопки и запустить тем самым обработчик из кода страницы.
0
Адд-он работает только на главной или на подЛепрах и в инбоксах тоже?
0
Еще немного экспериментировал с плагинами, все-таки под хром писать намного приятнее, чем под фф.
0
Sign up to leave a comment.
Пара слов о разработке и публикации add-ons для FireFox и Chrome