Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

Глава 1: Знакомство с расширениями

Draft
This page is not complete.

Note: If you want contribute to this document please following guidelines from the Contribute page.

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
Добавляет кномку на панель для открытия большинства недавно закрытых вкладок журнала.
1211576231.png
Locationbar
Separates a URL’s domain and path in the location bar for easier reading.
locationbar.png

Feature enhancing extensions

FIXME: Update this.

Эти расширения предоставляют функции, которые расширяют имеющиеся в Firefox.

Tab Mix Plus
Offers detailed tab-related settings.
PrefBar
Gives access to numerous preferences from the toolbar.PrefBar.png
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.

Forecastfox.png

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 в качестве платформы разработки.

Firebug.gif

One-trick gag extensions

FIXME: Update this.

There are a number of one-trick gag extensions that aren’t very useful.

Shiitake Mushroom (1).png

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 userContent.css file, or use the Stylish extension.

Yes; you can change the userChrome.css file, or use the Stylish extension.

User scripts (change appearance and functionality through JavaScript)

Yes; you can use the GreaseMonkey extension or "bookmarklets."

Yes; you can change userChrome.js to add functionality through JavaScript.

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.

1 One of the authors of this special edition, Piro, is world-famous as one of the original developers.

Метки документа и участники

 Внесли вклад в эту страницу: kidskilla, hbvit7
 Обновлялась последний раз: kidskilla,