Draft
This page is not complete.
This document was authored by Hideyuki Emura and was originally published in Japanese for the Firefox Developers Conference Summer 2007. Emura-san is a co-author of Firefox 3 Hacks (O'Reilly Japan, 2008.)
Введение
Если вы читаете это руководство, то, вероятно, уже использовали Firefox до этого. Возможно после знакомства с Firefox, вы были удивлены тем, что это приложение имеет более простую структуру, чем другие навороченые браузеры, такие как Opera или Safari.
Какие возможности сейчас считаются стандартными для браузеров? Возможно такие вещи, как тонкая настройка табов, мышиные жесты, множество панелей инструментов и кнопок, расширяющих возможности, RSS-читалка, интеграция со множеством веб-приложений или современные инструменты для помощи с созданием веб-страниц? Но мы не ставили перед собой задачу создать браузер все-в-одном, который может удовлетворить всех.
Вместо этого, Firefox может получить дополнительную функциональность при помощи расширений. Сам браузер ограничен основной функциональностью, чтобы новичек мог без проблем разобраться в его работе, остальные, кто хочет что-то кроме этого, могут установить расширения.
О расширениях
Управление расширениями при помощи менеджера дополнений
Менеджер дополнений Firefox - прекрасный способ в управлении расширениями и большой шаг вперед в простоте использования.
Менеджер дополнений выполняет следующие задачи:
- Безопасную установку и удаление дополнений
- Проверку совместимости с используемой версией Firefox
- Управление белым списком сайтов, разрешенных для установки дополнений
- Решение проблем с дополнениями путем их отключения и предложение безопасного режима
- Проверку и запуск обновлений
- Предоставление доступа к настройкам дополнений
- Предоставление доступа к сайтам поддержки дополнений
Удобство среды разработки
Первоначально, не было компетентной документации, и разработчики расширений были предоставлены самим себе1; однако сейчас накоплена большая база знаний.
Так как Firefox и его расширения разрабатывают с поддержкой многоязычности, прекрасные образцы расширений приходят со всего света и могут быть локализованы любым человеком, кто в этом заинтересован.
This lowers the threshold both to using and to developing extensions; that fact, combined with Firefox's rapidly growing popularity, has created a positive feedback loop, with the number of extension users and extension developers growing explosively—сейчас на сайте расширений Firefox(https://addons.mozilla.org) опубликовано более 7000 расширений и тем.
Что можно делать при помощи расширений
Давайте рассмотрим какие возможности могут добавить расширения и несколько примеров расширений.
Расширения с одной функцией
FIXME: Update this.
Вот относительно простые расширения, которые добавляют одну возмжность.
- Text Link
- Makes it so that double-clicking on an unlinked URL follows that URL.
- Undo Closed Tabs Button
- Добавляет кномку на панель для открытия большинства недавно закрытых вкладок журнала.
- Locationbar
- Separates a URL’s domain and path in the location bar for easier reading.
Feature enhancing extensions
FIXME: Update this.
Эти расширения предоставляют функции, которые расширяют имеющиеся в Firefox.
- Tab Mix Plus
- Offers detailed tab-related settings.
- PrefBar
- Gives access to numerous preferences from the toolbar.
- NoScript
- Enables and disables JavaScript execution on a site-by-site basis.
Web application integration extensions
FIXME: Update this.
The use the APIs of certain web applications to provide certain pieces of information.
New feature extensions
FIXME: Update this.
Extensions can add completely new features to Firefox. This class of extension requires a greater level of knowledge and programming ability.
- GreaseMonkey
- UserChrome.js
- Both of these provide an environment for running user scripts (JavaScript) in Firefox itself, where the scripts can target specific websites.
- Adblock Plus
- Blocks the display of unwanted advertisements on web pages.
- All-in-One Gestures
- Adds mouse-gesture functionality.
Расширения уровня приложения
FIXME: Update this.
Это сложные расширения, которые могутThese are sophisticated extensions that can be considered full-scale applications in their own right, по существу используя Firefox в качестве платформы разработки.
One-trick gag extensions
FIXME: Update this.
There are a number of one-trick gag extensions that aren’t very useful.
This is a very brief survey of a few extensions, but there are many other unique extensions available.
Table 1: Advanced customization methods for Firefox
Customization Method | Does it work for web sites? | Does it work for Firefox? |
User style sheets (change appearance through CSS) |
Yes; you can change the |
Yes; you can change the |
User scripts (change appearance and functionality through JavaScript) |
Yes; you can use the GreaseMonkey extension or "bookmarklets." |
Yes; you can change |
Extensions (these can do anything) | Yes | Yes |
Theming (this changes the look of the browser) | No | Yes |
Let's build an extension
Таблица 1 показывает различные способы настройки доступные ползователям в Firefox. Table 1 shows the various customization options available to a user in Firefox. Users have flexible customization options, using CSS in user style sheets and JavaScript/DOM in user scripts (these depend on Stylish, GreaseMonkey, and userChrome.js
).
В дополнение к CSS и JavaScript, расширения могут использовать преимущества технологий XUL и XPCOM для юолее сложной функциональности. Темы, изменяющие внешний вид Firefox являются одним из типов дополнений.
Для создания расширения, вам необходима идея и немного способностей к программированию. Следующая глава подробно объясняет технику написания расширений одного из ведущих авторов расширений. We encourage you to try your hand at it as well.