Вопросы по обратной совместимости дополнений / расширений Firefox - PullRequest
0 голосов
/ 05 октября 2011

Справочная информация:

На прошлой неделе я возился с расширениями Chrome и без проблем создавал свое расширение. Отлично, Chrome - это то, что процесс разработки очень прост в освоении, и, ну ... просто!

Теперь у меня есть мысль, что я хотел бы создать это расширение для максимально возможного количества браузеров, поэтому я решил выбрать Firefox.

Какой беспорядок! Там документация ничего не дала, кроме головной боли и траты моего времени до сих пор, ОЧЕНЬ извитых и просто неорганизованных.

Мне удалось найти пример кода для простого расширения, которое, я думаю, я могу использовать в качестве отправной точки, и начал возиться с - прекрасно ...

Я узнал, что этот пример расширения не будет работать с чем-либо меньшим, чем Firefox 4, так как он использует технику начальной загрузки, чтобы сделать расширение устанавливаемым без перезапуска браузера. Ughhhhhh ....

Теперь мы подходим к моим вопросам:

  1. Можно ли разработать расширение для Firefox 7, которое будет работать с предыдущими версиями Firefox? Мне даже наплевать на что-либо до Firefox 4, если это точка отсечения для установок без перезагрузки Было бы неплохо знать, что то, на что я трачу все это время, будет работать стабильно и дольше недели, когда пользователю будет предложено перейти на следующее.

  2. Как насчет обратного? Могу ли я создать расширение, совместимое с Firefox 3.5 через Firefox 7? Я понимаю, что для установки потребуется перезагрузка, но это было бы приемлемо, если бы оно приводило к рабочему расширению независимо от версии.

  3. Может ли кто-нибудь, имеющий опыт в этом деле, поделиться чем-то, чем я занимаюсь здесь? Кажется, что это кошмар платформы для разработки, и я буду постоянно исправлять свое расширение.

Последний фрагмент соответствующей информации:

Расширение, которое я разрабатываю, основано исключительно на javascript - этот материал должен работать (я думаю?), Потому что он зависит только от одной функции "скрипты содержимого", которая на самом деле не должна изменяться в реализации между версиями в этот момент ... верно?

Так что же мне не хватает? Как создать легко управляемые расширения Firefox, которые будут работать во всех версиях браузера?

Спасибо всем! :)

1 Ответ

2 голосов
/ 05 октября 2011

Необходимо различать «традиционные» расширения и расширения, созданные с помощью Add-on SDK .Первые гораздо более мощные, учитывая, что у них есть прямой доступ ко всем API, которые использует браузер - но это также причина, по которой их сложнее писать и почему документация довольно неупорядочена (есть просто очень много вещей, которые вы могли бы сделать,гораздо больше, чем вы могли бы с Chrome).Они также чаще ломаются при смене браузера.С другой стороны, Add-on SDK предоставляет вам ограниченный API, очень похожий на Chrome.В настоящее время Add-on SDK поддерживает все, начиная с Firefox 4 (да, из-за перезапуска установки), с обещанием, что для изменения браузера потребуется просто перекомпилировать ваше дополнение с более новой версией Add-on SDK.Фактически, такая перекомпиляция , скорее всего, произойдет автоматически в будущем для надстроек, размещенных на addons.mozilla.org.На ваши вопросы:

Можно ли разработать расширение для Firefox 7, которое будет работать с предыдущими версиями Firefox?

Конечно, это так.SDK надстройки в настоящее время помечает ваше дополнение как совместимое с чем-либо между Firefox 4 Beta 7 и Firefox 8 Alpha 1. Несмотря на то, что традиционные надстройки работают - начиная с Firefox 4, различия между отдельными версиями браузера довольно малы, большинство вещейработать во всех из них.Вы также можете поддерживать совместимость с Firefox 3.x, но в зависимости от того, что вы делаете, это может потребовать некоторых усилий.Важная информация:

Как насчет обратного?Могу ли я создать расширение, совместимое с Firefox 3.5 через Firefox 7?

Неважно, каким путем вы идете.Однако я бы не советовал тратить много времени на поддержку Firefox 3.x.С Firefox 3.5 больше не поддерживается, единственная соответствующая версия - Firefox 3.6.Согласно статистике моих дополнений, примерно 18% пользователей Firefox продолжают использовать его.В следующие несколько месяцев этот процент значительно сократится, особенно когда Mozilla объявит об окончании срока службы для этой ветви.Так что для поддержки нового дополнения это обычно неоправданно.

Может ли кто-нибудь, имеющий опыт в этом материале, поделиться с вами кое-чем из того, чем я здесь занимаюсь?

Зависит от того, насколько сложным будет ваше дополнение.Учитывая, что вы разрабатываете эквивалент расширения Chrome, вы, скорее всего, будете использовать дополнительный SDK, что означает, что не будет никаких проблем с совместимостью.Как и в случае с традиционными надстройками, простые надстройки, не основанные на некоторых неясных деталях реализации, также обычно не имеют проблем с совместимостью (у меня есть две надстройки, которые не нуждались ни в одной настройке, начиная с Firefox 3.5),Надстройки, которые уходят глубоко в систему, конечно, более проблематичны.

...