From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../index.html" | 55 ++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 "files/ru/faq_\320\277\320\276_\321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217\320\274/index.html" (limited to 'files/ru/faq_по_расширениям/index.html') diff --git "a/files/ru/faq_\320\277\320\276_\321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217\320\274/index.html" "b/files/ru/faq_\320\277\320\276_\321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217\320\274/index.html" new file mode 100644 index 0000000000..88a1da4dfc --- /dev/null +++ "b/files/ru/faq_\320\277\320\276_\321\200\320\260\321\201\321\210\320\270\321\200\320\265\320\275\320\270\321\217\320\274/index.html" @@ -0,0 +1,55 @@ +--- +title: FAQ по расширениям +slug: FAQ_по_расширениям +tags: + - Расширения +translation_of: Archive/Mozilla/Extension_Frequently_Asked_Questions +--- +

Это список ответов на наиболее часто возникающие вопросы при разработке расширеий. В основном они касаются Firefox, однако в большинстве своем могут быть распространены и на SeaMonkey, Thunderbird и другие приложения.

+

Если вы ищите руководство к началу работы, посмотрите статью Создание расширения или MozillaZine's Getting started tutorial. Попробуйте мастер расширений, чтобы сгенерировать шаблон и начать с работать над расширением.

+

Убедитесь, что настроили Firefox для разработки расширений.

+

Отладка

+

Установите рекомендуемые настройки для удобства отладки своего расширения.

+

Здесь приведен список расширений, призванных помочь вам при отладке.

+

Расширение не работает, но не вижу ошибок в консоли

+

Установите в настройках (about:config) опцию

+
javascript.options.showInConsole = true
+
+

Это приведет к тому, что ошибки JavaScript будут выводиться в консоль ошибок.

+

Как вывести текст из кода расширения

+

Кроме alert(), можно воспользоваться dump(), Components.utils.reportError() или the nsIConsoleService. Можете попробовать также расширение Venkman JavaScript Debugger.

+

Почему моя программа не работает?

+

При возникновении проблем прежде всего изучите консоль ошибок.

+

Частой ошибкой является обращение к узлам DOM окна до его полной загрузки. Это может случиться, если вы поместите такой код вне каких-либо функций (т.е. он выполнится при первом же просмотре скрипта исполнительной системой JavaScript).Если вам необходимо что-либо сделать сразу же при загрузке браузера, оформите эти действия в функцию и поставьте ее обработчиком события load:

+
function onBrowserStartup(evt){
+  //код, выполняющийся при загрузке браузера
+}
+window.addEventListener("load", onBrowserStartup, false);
+
+

Как получить доступ к веб-странице?

+

Для получить доступ к загруженной странице из оверлея для browser.xul, надо воспользоваться content.document вместо привычного document. Для получения дополнительной информации смотрите статью Работы с окнами в коде chrome.

+

Кроме того, по умолчанию en:XPCNativeWrapper ограждает вас от доступа к определенным скриптами объектам на веб-странице и от совершению не которых других вещей.

+

Непонятные ошибки XML-парсера

+

Часто ошибки XML-парсинга вызываются использованием спецсимволов XML, например & или <. Например, нельзя писать так

+
<button oncommand="window.open('http://example.com/q?param1=value&param2=val2')"/>
+
+

и так

+
<script>function lesser(a,b) { return a < b ? a : b; }</script>
+
+

Есть несколько путей решения этой проблемы:

+
  1. заменить эти символы на соответствующие обзначения ("&" - "&amp", "<" - "&lt;" и т.п.).
  2. если заменить нельзя (например, это скрипт), замкните текст с этими символами в теги CDATA
  3. +
+
<script><![CDATA[
+   function lesser(a,b) {
+     return a < b ? a : b;
+   }
+ ]]></script>
+ 
+

или поместите скрипт в отдельный файл и подключите его в главном файле.

+
<script type="application/x-javascript" src="file.js"/>
+

Пользуйтесь готовым кодом

+

Расширения поставляются в исходных кодах, поэтому вы вольны просматривать их код и узнавать, как они работают. XPI и JAR файлы являются просто переименованными zip-архивами.

+

Где еще можно получить информацию?

+

Просмотрите документацию, касающуюся расширений, примеры кода, примеры кода на MozillaZine.

+

Обратите внимание на en: Extensions:Other Resources и en: Extensions:Community.

+

{{ languages( { "de": "de/Erweiterungen_FAQ", "es": "es/Preguntas_frecuentes_sobre_Extensiones", "fr": "fr/Foire_aux_questions_sur_les_extensions", "it": "it/Domande_frequenti_sulle_Estensioni", "ja": "ja/Extension_Frequently_Asked_Questions", "pl": "pl/Cz\u0119sto_zadawane_pytania_dotycz\u0105ce_rozszerze\u0144", "en": "en/Extension_Frequently_Asked_Questions" } ) }}

-- cgit v1.2.3-54-g00ecf