mozilla
Your Search Results

    FAQ по расширениям

    Это список ответов на наиболее часто возникающие вопросы при разработке расширеий. В основном они касаются 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
    <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.

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

    Метки: 
    Contributors to this page: Yozh88, fscholz
    Обновлялась последний раз: fscholz,