Web extension что это за программа

Google Chrome Extensions — Часть 1. Архитектура

Что такое Chrome Extension? Это маленькая программа, которая модифицирует и дополняет функциональность браузера Google Chrome. Для создания полноценного расширения вам понадобиться знание HTML, CSS, JavaScript. После написания, файлы пакуются в специальный файл с расширением .crx, который собой являет zip архив. В таком виде пользователь сможет установить расширение.

За счет того что этот пакет содержит все необходимые файлы, chrome расширение не зависит от ресурсов из интернета и способен корректно работать даже в оффлайн режиме.

Любое chrome расширение может иметь такую структуру:

может, так как не все эти части есть обязательные, все зависит от конкретных потребностей и особенностей реализации.

Manifest.json

Чтобы оптимизировать использование ресурсов, в 2012 году была разработана концепция ивент страниц (Event Pages). Она выполняет те же функции что и бэкграунд страница, но призвана решить проблему производительности и ресурсов, которые используются иррационально.

ТОП 5 РАСШИРЕНИЙ ДЛЯ Google Chrome

Главное отличие этого подхода — вместо непрерывной работы в фоновом режиме, ивент страница запускается только тогда, когда нужно — например чтобы обработать конкретное событие. После чего выгружается, освобождая память до того момента пока конкретное событие не сработает в следующий раз. В плане кода, разницы никакой между этими двумя подходами нет, а единственное что нужно, указать в manifest.json файле это корректное значение проперти persistent. По умолчанию это значение будет стоять в true для стандартных background страниц и false для ивент страниц.

Это обязательные элементы Chrome Extension-а, теперь давайте перейдем к опциональным.

Content Scripts

Контент скрипты — это javascript файлы или код, которые выполняються не в отдельном фоновом процессе (как бекграунд скрипты) а в контексте Веб страницы. Контент скрипты используют в ограниченном виде Chrome API. Но при этом они изолированные и не могут использовать, как функции и переменные которые объявлены, например на бекграунд странице так и переменные, функции и тд. со скриптов находящихся на веб странице.

Полноценный доступ есть только через к DOM дереву страницы. С контент скрипта вы можете инициировать ивенты, изменять DOM. Даже можете добавлять script тег в страницу и подключать нужные файлы.

Content Security Policy

Для Chrome расширений, действует так называемое Content Security Policy — это набор строгих правил, которые необходимы для того чтобы сделать расширения безопасней и контролировать контент который может быть загружен и выполнен в расширении.

По умолчанию, если использовать манифест 2 версии то в расширении будут такие ограничения:

  • Запрещено использовать eval и схожие функции
  • Inline джаваскрипт выполняться не будет
  • Возможность загружать только локальные скрипты и ресурсы

Коммуникация

Так как background страница в другой области видимости чем например контент скрипт который выполняется в контексте веб-страницы, нужен какой то способ коммуникации между Content Scripts и Background scripts.

Пример создания Chrome Extensions (Расширения)

Эту возможность нам и предоставляет API. Chrome Javascript API вводит концепцию Message Passing с помощью которой и происходит коммуникация. Background страница может подписываться на сообщения которые пришли из content script-а и наоборот, кроме того давать ответ в том же канале. API дает возможность работать с короткими запросами похожими больше на события и долговременными (аналог полинга).

Два описанных метода коммуникации в Chrome расширениях используют для background страниц или отдельных окон расширения с content script-ами и наоборот. Content scripts выполняються в своей песочнице и это вызывает проблему с доступом к странице и области видимости скриптов.

К сожалению Chrome браузер не предоставляет нормальных способов для решения этой проблемы. Непосредственно с контент скрипта, доступиться к функциям или переменной страницы в данный момент невозможно. Но для этого можно использовать Web Accessible Resources.

Как я уже отмечал ранее, с content script-а мы можем модифицировать DOM, а именно создать например новый тег script, в атрибуте src задать ему путь к скрипту который открыт для внешнего использования, и добавить этот тег в DOM.

Таким способом подключать можно только те которые описаны в массиве web_accessible_resources в manifest.json файле.

Источник: medium.com

WebExtensions

WebExtensions — технология создания расширений браузера, поддерживаемая большинством популярных браузеров. С помощью WebExtensions можно создавать расширения, которые могут незначительно менять пользовательский интерфейс браузера, модифицировать содержимое вебстраниц, изменять сетевые запросы браузера. WebExtensions создаются с помощью таких технологий как HTML, CSS, JavaScript и JSON.

  • 1 Структура расширения
  • 2 Особенности архитектуры
  • 3 Поддержка различными браузерами
  • 4 Поддержка интернационализации
  • 5 Аналоги
  • 6 Критика
  • 7 Примеры расширений
  • 8 Ссылки

Источник: wiki2.org

Web-расширение (Web Extension)

Веб-расширение является одним из ключевых компонентов платформы. Поставляется под наименованием «1С:Предприятие 8. Web-расширение 1.1», выполняет важную функцию: с его помощью можно представлять сайтам и веб-приложениям доступ к информации платформы, а также создавать веб-приложения, использующие ресурсы ИБ «1С:Предприятия 8», создавать интегрированные системы.

Данный программный продукт существенно расширяется функционал платформы. Так, пользователи, у которых на рабочих ПК не инсталлировано ПО «1С», все равно получают возможность использовать прикладные решения из этого семейства. Это особенно удобно при удаленном режиме работы, для предприятий с обособленными подразделениями, для интернет-магазинов, порталов, при обслуживании интернет-клиентуры и т.п.

Читайте также:
Бухгалтерия программа 1с что это такое

Используя веб-расширение, разработчики получают возможность предложить пользователям привычный интерфейс, мало отличающийся от традиционного стиля платформы «1С:Предприятие 8», а также задействовать в работе формы, которые генерирует сама система.

Какие возможности дает веб-расширение в системе «1С»?

Оно само по себе способно решать разноуровневые задачи, так и решать их в комбинации с другими составляющими системы.

1. Интернет-доступ к ИБ

В платформе «1С:Предприятие» можно разрабатывать веб-приложения, которые будут давать работать с ИБ «удаленным» сотрудникам и (или) внешним пользователям. Для решения этой задачи в системе предусмотрен конструктор приложений. Разработав его, разработчик может, — также с помощью конструкторов, — создать формы для объектов конфигурации, доступ к которым реализуется через веб-интерфейс. По ходу дела есть возможность отредактировать создаваемую форму, управляя элементами управления, связанными с ИБ, — аналогично тому, как эта возможность реализована в формах пользовательских интерфейсов «1С:Предприятия». И даже если разработчик не создал в явном виде форму для объекта, система сама создаст ее во время работы.

2. Встройка функционала платформы «1С» в работающие веб-ресурсы

Чтобы реализовать эту задачу, нет необходимости разрабатывать новое предложение, Достаточно добавить в уже построенный сайт страницы, поддерживаемые технологиями Web-расширения. Для того чтобы включить доступ к данным ИБ «1С» на уже имеющихся страницах, можно задействовать специализированные элементы управления, предоставляемые веб-расширением, причем без создания кода. При этом все формы, которое должны вызываться:

  • выбор справочника;
  • просмотр объекта и т.п

веб-расширение будет генерировать самостоятельно, в автоматическом режиме.

В случае когда возникает необходимость организовать доступ к информации, содержащейся в ИБ «1С», на веб-ресурсе, используя уже имеющиеся на нем средства отображения информации, также можно задействовать компоненту веб-расширения, позволяющую получить доступ к данным ИБ, с помощью которых информация отображается в удобном для восприятия виде.

3. Доступ к «1С» из других систем

Веб-расширения могут быть использованы для интеграции с ресурсами «1С» других программ, без непосредственной взаимосвязи с интернет-доступом. Реализовать доступ в ИБ системы «1С:Предприятия» можно практически из любого программного средства, что позволяет организовать доступа через интернет. В результате появляется возможность оказывать клиентам сервисные информационные услуги через интернет.

Возможности интерфейса

Компоненты для создания интерфейса пользователя включены в состав поставки веб-расширения. Они используют структуру БД «1С:Предприятие» и взаимосвязаны, благодаря чему достигается высокая степень автоматизации для решения стандартных задач.

1. Создание форм

Идеология веб-приложения такова, что создание и поддержание пользовательских интерфейсов не потребует от разработчика больших усилий:

  • подавляющее большинство операций автоматизируется веб-расширением;
  • для объектов простой структуры создание форм вообще не требуется (система сама создает их по мере обращения).

Веб-расширение позволяет автоматизировать основные операции с данными, приводить их в унифицированный вид, организовывает взаимосвязь форм, как-то:

  • добавление новых элементов;
  • возможность выбора значений из формы-списка;
  • переходы к взаимосвязанной информации.

2. Отображение списков

Благодаря этому компоненту списки отображаются в виде таблицы.

Есть возможность перемещаться по динамическому списку элементов, добавлять, изменять и производить иные операции с элементами списков.

Помимо отображения и навигации, список поддерживает отборы и сортировку:

а также ряд иных полезных операций:

  • ввод нового элемента;
  • копирование;
  • ввод на основании;
  • редактирование элемента.

3. Ввод данных

Пользователь осуществляет ввод информации и данных разнообразных типов с помощью следующего элемента управления:

Поле ввода автоматически изменяется, учитывая тип вводимого значения, делая ввод данных максимально комфортным для пользователя. Поддерживаются основные функции, в частности, выбор значения из списка, открытие формы, ввод различных данных.

4. Редактирование списков

С помощью этой компоненты можно редактировать данные таблиц непосредственно в самом списке, что особенно удобно при редактировании многострочных документов. Список для редактирования интегрирован с полем для ввода:

5. Формирование веб-отчетов

С помощью web-расширения можно формировать отчеты, аналогичные по функционалу «основной» системы «1С:Предприятие 8». С помощью соответствующего инструмента для визуального редактирования можно настроить исходный запрос и получить результат, поддерживающий функцию расшифровки, позволяющую детализировать полученные результаты:

Система вкладок – «Отчет», «Поля», «Отбор», «Группировки», «Порядок», — позволяет настроить состав полей, отбор, порядок, отражать измерения:

Есть возможность настроить оформление всего отчета, его полей и группировок:

Так же, как и в системе «1С:Предприятие 8», в веб-приложении поддерживаются расшифровки, дающие пользователю возможность получить детальную информацию на основе значения в конкретной ячейке отчета:

Причем данные, полученные из ИБ, кэшируются, что ускоряет и оптимизирует получение данных при постраничном отображении. Когда пользователь запрашивает новую страницу, обращение происходит не к серверу с ИБ, а к кэшу отчета по стандартной схеме ASP.NET.

Возможность публикации веб-приложений

В веб-приложении имеется утилита, осуществляющая публикацию веб-приложений в IIS с помощью шаблона, причем в процессе:

  • файлы копируются на IIS;
  • там же производится создание и настройка виртуального каталога;
  • происходит настройка веб-приложения согласно избранному методу аутентификации;
  • иные необходимые действия.

Один и тот же шаблон позволяет многократно публиковать приложение, настраивая:

  • различные ИБ «1С:Предприятие 8» для доступа;
  • метод аутентификации:
  • возможности анонимного доступа;
  • режимы имперсонации (заимствования прав) пользователя;
  • аутентификации на основе форм.

Какова структура Web-расширения?

Взаимодействие клиента с ИБ «1С:Предприятие 8» посредством Web-расширения иллюстрирует следующая схема:

Благодаря многоуровневой архитектуре со включением:

  • базовых объектов, призванных лишь манипулировать данными;
  • объектов специализированных, организующих взаимодействие пользователя с данными ИБ (аналогично тому, как это реализовано в самой системе «1С»)

Web-расширение предоставляет пользовательский и программный интерфейсы для управления данными ИБ «1С:Предприятие 8» с помощью технологий веб-сервером от Microsoft (.NET) и инструментария самой системы (COM-соединение).

Схема работы веб-расширения указана ниже:

Доступ к ИБ с использованием веб-расширения осуществляется с помощью COM-соединения, наиболее эффективного инструмента организации программного доступа к данным «1С». Открытые COM-соединения сохраняются в пуле, что позволяет использовать их повторно, экономя ресурсы серверов при сохранении скорости работы. На уровне базовом работа с данными «1С:Предприятие 8» реализуется с помощью набора объектов по технологии доступа ADO.NET, что позволяет не просто получать данные, в режимах:

  • таблицы, объектного доступа к данным;
  • запроса, с использованием возможностей внутреннего языка «1С»,
Читайте также:
Асана что это такое программа

но и дает возможность их модификации (возможно лишь в режиме таблицы). Для формирования интерфейса пользователя и работы с данными на высоком уровне применяются объекты на основе технологии ASP.NET:

  • источники данных;
  • элементы управления.

Источники данных, — например, для списка, для редактирования объекта и набора записей, для отчета и т.п., — являются специализированными объектами, реализующими стандартную логику работы разнотиповых форм, использующие при работе базовые объекты ADO.NET.

Элементы управления, — поле ввода, табличное, командная панель и т.п, — формируют пользовательский интерфейс и обеспечивают работу пользователей с данными. По сути представляют собой аналоги элементов управления «1С».

Технологии веб-форм (Web Forms) не просто упрощают их формирования посредством визуального конструирования, но и увязку с элементами управления и источниками данных. В web-расширении имеется ряд шаблонов, автоматизирующих создание объектов и списков.

Веб-расширение содержит набор стандартных форм, которые вызываются тогда, когда сформирован запрос к данным, и разработчик не предусмотрел для них специальные формы.

Можно ли формировать веб-отчеты?

Да, эту возможность дает приложение «Универсальные веб-отчеты», входящее в стандартный комплект поставки web-расширения. Оно позволяет с помощью веб-интерфейса получать произвольные отчеты из любой ИБ «1С:Предприятие 8»:

Для использования его возможностей не потребуется создавать коды. Инсталляция этого проходит в три этапа:

1. Сравнение/объединение выбранной конфигурации «1С:Предприятие 8» с файлом 1Cv8.cf для доставки необходимых объектов метаданных в конфигурацию.

2. Создание в справочнике «ВебОтчеты» набора необходимых отчетов в выбранной ИБ. Они будут доступны для исполнения с помощью «Универсальных веб-отчетов»;

3. Публикация веб-приложения «Универсальные веб-отчеты»:

  • запуск публикатора веб-приложений;
  • добавление нового веб-приложения из шаблона «Универсальные веб-отчеты»;
  • указание, что веб-приложение будет работать с выбранной ИБ «1С»;
  • установка требуемого метода аутентификации.

После запуска «Универсальных веб-отчетов» открывается страница со списком отчетов, созданных в справочнике «ВебОтчеты» «1С:Предприятие 8», причем каждый выбранный отчет исполняется в новом окне браузера.

Генерация метаданных

Утилита генерации метаданных позволяет использовать информацию об этом виде данных «1С:Предприятие 8». Информация о метаданных используется на всех уровнях работы, генерируясь в автоматическом режиме при запуске веб-приложения или сервиса, посредством шаблонов. Утилиту можно также запускать отдельно (при условии изменения конфигурации ИБ «1С». Работа с метаданными облегчает и ускоряет выполнение множества операций, например, постройку таблиц.

Итак, веб-расширение – эффективный инструмент как для создания специализированных пользовательских интерфейсов, так и для работы с данными на нижестоящем уровне.

Что входит в состав продукта?

«1С:Предприятие 8. Web-расширение 1.1» включает в себя несколько элементов

  • файлы Microsoft .NET Framework;
  • основные файлы, необходимые для функционирования веб-приложений и сервисов на базе веб-расширения — основные библиотеки и файлы скриптов для работы элементов управления;
  • файлы, с помощью которых можно самостоятельно создавать веб-приложения и сервисы — файлы помощи, автодокументирования, конструкторов, шаблонов для мастера «MS Visual Studio», формы «по умолчанию», таблица стилей, иллюстраций и т.п.;
  • публикатор веб-приложений;
  • веб-приложение «Универсальные веб-отчеты»;
  • утилита генерации метаданных;
  • демонстрационный пример, демонстрационная ИБ для него, что упрощает освоение и использование этого Web-расширения. Это пример реализации интерфейса для простейшего прикладного решения:

Все указанные компоненты (за исключением файлов для разработки) могут быть установлены по отдельности. Файлов для разработки инсталлируются только вместе с основными файлами Web-расширения.

Какое ПО необходимо для работы?

Для работы Web-расширения требуются следующие программные средства:

  • ОС Microsoft (XP Professional, 2000, 2003);
  • Microsoft Internet Information Server (от 5.0 и выше);
  • Microsoft .NET Framework 1.1;
  • «1С:Предприятие 8» (от версии 8.11 и выше).

Можно использовать браузер, поддерживающий HTML 4.0, DOM Level 1 и CSS 2. Для разработки необходимо любое средство с поддержкой ASP.NET, для создания шаблонов требуется Microsoft Visual Studio .NET 2003 с компилятором C# (C Sharp).

ТОП ПРОДАЖ

  • 1С:Бухгалтерия 8
  • 1С:Управление нашей фирмой 8
  • 1С:Управление торговлей 8
  • 1С:Управление предприятием 2
  • 1С:ЗУП 8
  • 1C:Учет путевых листов и ГСМ
  • 1С:Учет в управляющих компаниях
  • Электронные поставки 1С

Облачные сервисы

  • 1С:Фреш
  • 1С:Готовое рабочее место
  • 1С:ЭДО
  • Маркировка товаров
  • 1С:Отчетность
  • 1C:Товары
  • 1C-Ритейл Чекер

Источник: center-comptech.ru

Как включить Ace Stream Web Extension для Яндекс Браузера

Плагин AceStream для Chrome позволяет просматривать мультимедийный контент онлайн, без загрузки, например, через торрент-раздачи, а также предлагает множество других возможностей. Многим пользователям его функции покажутся очень даже удобными. Именно им мы рекомендуем установить расширение. Разберемся с этой процедурой более детально.

Инструкция

Для его использования проще всего загрузить отдельную программу, которая полностью настроена. Все вместе выполняется так:

  1. Установите плагин https://chrome.google.com/webstore/detail/ace-script/mjbepbhonbojpoaenhckjocchgfiaofo. Installyatsiya-rasshireniya-Ace-Stream-dlya-Google-Chrome.png
  2. Поочередно установите скрипты Magic Player, P2P Search и Ace Cast.
  3. Посетите официальный сайт http://www.acestream.org/.
  4. Кликните по иконке скачивания. Skachat-Ace-Stream-Media.png
  5. Подтвердите выполнение процедуры.
  6. Запустите полученный exe-файл.
  7. В приветственном окошке нажмите OK, предварительно убедившись, что язык выбран правильно. Nachalo-ustanovki-Ace-Stream-Media.png
  8. На следующей странице выберите режим «Принимаю», а потом кликните «Далее».
  9. Снова кликните «Далее», а потом «Установить».
  10. Дождитесь завершения процедуры.
  11. В финальном окошке нажмите «Готово». Zavershenie-ustanovki-Ace-Stream-Media.png

Завершение

Zapusk-rasshireniya-Ace-Stream-v-Google-Chrome.png

Остается только все протестировать. Для этого посетите страницу http://info.acestream.org/#/test и кликните на кнопку Play.Потом подтвердите действие. В результате должно начаться онлайн-воспроизведение анимационного видео. Так и настраивается расширение для Гугл Хрома.

ace-strwbextjnbr-1-550x189.jpg

3.Загрузится окно с результатами поиска, среди которых нужно выбрать «Ace Script».

4.Нажать кнопку «Установить».

5.Дождаться окончания установочного процесса.

6.В правом верхнем углу окна программы появится значок расширения.

ace-strwbextjnbr-2-389x288.jpg

Установка дополнения Ace Stream для браузера Chrome происходит по тому же принципу, что и в Яндекс Браузере. Пользователи этого веб-обозревателя могут воспользоваться ссылкой для перехода в интернет-магазин, которая была указана выше или же сделать это через меню программы.

1.Нажать в новой вкладке кнопку «Приложения».

ace-strwbextjnbr-3-339x192.jpg

2.В правом нижнем углу загрузившейся вкладки нажать на «Интернет-магазин Chrome».

3.В открывшемся окне ввести в строке поиска название расширения.

4.Нажать кнопку «Установить».

5.После успешной установки на панели быстрого запуска появится соответствующий значок.

Читайте также:
Программы массфолловинга что это

ace-strwbextjnbr-4-515x269.jpg

Пользователи веб-обозревателя Firefox в последнее время сталкиваются с рядом проблем при установке плагинов. Тем не менее разработчики из компании Mozilla ведут работы по улучшению своего браузера. Установка расширений в Фаерфокс осуществляется следующим образом:

1.Открыть в меню программы раздел «Дополнения».

ace-strwbextjnbr-5-327x484.jpg

2.В открывшейся вкладке ввести в строку поиска название интересующего плагина.

ace-strwbextjnbr-6-550x274.jpg

3.Из предложенных вариантов выбрать «Ace Script».

ace-strwbextjnbr-7-550x290.jpg

4.Нажать кнопку «Добавить в Firefox».

ace-strwbextjnbr-8-550x185.jpg

5.После успешной инсталяции на панели появится информационное сообщение и значок плагина.

ace-strwbextjnbr-9-485x311.jpg

На данный момент нет полноценного дополнения Ace Stream в Opera. Тем не менее возможность смотреть видео без скачивания торрент-файлов есть. Для этого следует скачать с сайта разработчиков Ace Stream Media по ссылке http://info.acestream.org/#/products/tsfull.

1.Кликнуть по окну для загрузки инсталлятора.

ace-strwbextjnbr-10-550x201.jpg

2.Запустить загруженный на компьютер установочный файл.

3.Выполнить дейстия мастера установки.

Следующим этапом будет настройка скриптов. С их помощью будет автоматизирован процесс загрузки видео из торрента. На данный момент существует 3 проверенных скрипта, которые можно установить с сайта http://awe.acestream.me.

В открывшемся окне перед пользователем предстанут 3 работающих скрипта.

Magic Player работает по следующему принципу – при наведении на ссылку для скачивания видео появится соответствующая ссылка и надпись «View torrent online». Нажав на нее, мы запустим видео из торрент-трекера.

Теперь расширение внедряет на страницу скрипт содержимого:

// content-script.js // может получить доступ и изменить DOM let pageScriptPara = document.getElementById(«page-script-para»); pageScriptPara.style.backgroundColor = «blue»; // не может видеть свойства, добавленные page-script.js console.log(window.

foo); // undefined // видит исходную форму переопределенных свойств window.confirm(«Are you sure?»); // вызывает исходное window.confirm ()

То же самое верно и в обратном направлении;сценарии страниц не могут видеть свойства JavaScript,добавленные сценариями содержимого.

Это означает,что сценарии содержимого могут полагаться на предсказуемое поведение свойств DOM,не беспокоясь о столкновении своих переменных с переменными сценария страницы.

Одним из практических последствий такого поведения является то,что сценарий содержимого не имеет доступа к библиотекам JavaScript,загруженным страницей.Так,например,если страница включает jQuery,сценарий содержимого не сможет его увидеть.

Если сценарий содержимого должен использовать библиотеку JavaScript, тогда сама библиотека должна быть введена как сценарий содержимого вместе со сценарием содержимого, который хочет ее использовать:

«content_scripts»: [ «matches»: [«*://*.mozilla.org/*»], «js»: [«jquery.js», «content-script.js»] > ]

Примечание: Firefox делает обеспечить некоторый API , которые позволяют сценарии контента доступу JavaScript объектов , созданный с помощью скриптов страницы, и выставить свои собственные JavaScript объектов для скриптов страницы.

WebExtension APIs

В дополнение к стандартным API DOM,сценарии содержимого могут использовать следующие API WebExtension:

From extension :

From runtime :

From i18n :

  • getMessage()
  • getAcceptLanguages()
  • getUILanguage()
  • detectLanguage()

From menus :

Everything from:

XHR и Fetch

Сценарии содержимого могут выполнять запросы, используя обычные API-интерфейсы window.XMLHttpRequest и window.fetch() .

Примечание. В Firefox в Manifest V2 запросы скриптов контента (например, с использованием fetch() ) происходят в контексте расширения, поэтому вы должны указать абсолютный URL-адрес для ссылки на контент страницы.

В Chrome и Firefox в Manifest V3 эти запросы выполняются в контексте страницы, поэтому они направляются на относительный URL-адрес. Например, /api отправляется по https://«current page URL»/api .

Сценарии содержимого получают те же междоменные привилегии, что и остальная часть расширения: поэтому, если расширение запросило междоменный доступ для домена с помощью ключа permissions manifest.json , его сценарии содержимого также получают доступ к этому домену.

Примечание. При использовании Manifest V3 сценарии содержимого могут выполнять запросы между источниками, когда конечный сервер выбирает использование CORS ; однако разрешения хоста не работают в сценариях контента, но они все еще работают на обычных страницах расширения.

Это достигается за счет предоставления более привилегированных экземпляров XHR и выборки в сценарии контента, что имеет побочный эффект, заключающийся в том, что заголовки Origin и Referer не устанавливаются , как это сделал бы запрос с самой страницы; это часто предпочтительнее, чтобы запрос не раскрывал свою природу перекрестного происхождения.

Примечание. В Firefox в Manifest V2 расширения, которым необходимо выполнять запросы, которые ведут себя так, как если бы они были отправлены самим содержимым, могут вместо этого использовать content.XMLHttpRequest и content.fetch() .

Для кросс-браузерных расширений наличие этих методов должно определяться функцией.

Это невозможно в Manifest V3, так как content.XMLHttpRequest и content.fetch() недоступны.

Примечание. В Chrome, начиная с версии 73, и Firefox, начиная с версии 101, при использовании Manifest V3 сценарии контента подчиняются той же политике CORS , что и страница, на которой они выполняются. Только внутренние сценарии имеют повышенные междоменные привилегии. См. Изменения в запросах между источниками в сценариях содержимого расширений Chrome .

Общение с фоновыми сценариями

Хотя контентные скрипты не могут напрямую использовать большинство API WebExtension,они могут взаимодействовать с фоновыми скриптами расширения,используя API обмена сообщениями,и поэтому могут косвенно получать доступ ко всем тем же API,что и фоновые скрипты.

Существует две основные схемы взаимодействия между фоновыми сценариями и сценариями контента:

  • Вы можете отправлять разовые сообщения (с дополнительным ответом).
  • Вы можете установить долговременное соединение между двумя сторонами и использовать это соединение для обмена сообщениями.

One-off messages

Для отправки разовых сообщений с необязательным ответом можно использовать следующие API:

В сценарии содержания В фоновом сценарии Отправить сообщение Получить сообщение
browser.runtime.sendMessage() browser.tabs.sendMessage()
browser.runtime.onMessage browser.runtime.onMessage

Например,вот сценарий контента,который прослушивает события щелчка мыши на веб-странице.

Если щелчок произошел по ссылке,он отправляет сообщение на фоновую страницу с целевым URL:

// content-script.js window.addEventListener(«click», notifyExtension); function notifyExtension(e) < if (e.target.tagName !== «A») < return; > browser.runtime.

sendMessage(«url»: e.target.href>); >

Фоновый сценарий прослушивает эти сообщения и отображает уведомление с помощью API notifications

// background-script.js browser.runtime.onMessage.addListener(notify); function notify(message) < browser.notifications.create(< «type»: «basic», «iconUrl»: browser.

extension.getURL(«link.png»), «title»: «You clicked a link!», «message»: message.url >); >

(Этот пример кода слегка адаптирован из примера notify-link-clicks-i18n на GitHub.)

  • 1
  • 584
  • 585
  • 586
  • 587
  • 588
  • 667
  • Next

Источник: runebook.dev

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru