Помощь новичкам - Где этот код?

Я пытаюсь разработать расширение firefox, которое вставляет дополнительные поля заголовка HTTP в исходящие HTTP-запросы (для взаимодействия с расширением apache, которое я одновременно разрабатываю).

Хотя я понимаю отдельные компоненты расширения и основные учебные пособия, представленные в Интернете, мне трудно перейти от расширений учебного пособия «Hello World» к разработке полноценного расширения.

Пример кода, который я хочу адаптировать для своих целей, представлен внизу Установка заголовков HTTP-запросов.

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



Заранее спасибо.

Вы пытались найти существующее расширение, которое точно соответствует тому, чего вы пытаетесь достичь? Может быть, начало ...

mark 31.12.2008 14:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
1
453
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Для базового расширения вы должны поместить свой код в каталог chrome / content расширения. Вы можете подключить этот контент к Firefox, используя наложение. Хотя оверлеи обычно представляют собой контент xul (кнопки и т. д.), Они могут быть чем угодно. Включая тег скрипта, который будет запускать ваш код Javascript.

Этот код является компонентом XPCOM и входит в файл components/<some name>.js.

Вам следует ознакомиться с компонентами XPCOM, если вы хотите покопаться, но да, файлы .js в components загружаются при запуске. Такие файлы содержат регистрационный код (начинается со строки var myModule = { в этом примере), который сообщает Firefox, доступен ли компонент, определенный в файле, по запросу или должен быть создан автоматически.

В этом примере вы можете увидеть, как компонент регистрируется для получения уведомления о запуске приложения:

catMgr.addCategoryEntry("app-startup", this.myName, this.myProgID, true, true);

и при обработке уведомления о запуске приложения он регистрируется для уведомления http-on-modify-request:

os.addObserver(this, "http-on-modify-request", false);

Другие вопросы по теме