options_ui
| Тип | Object |
|---|---|
| Обязательно | Нет |
| Версия манифеста | 2 или выше |
| Пример | "options_ui": { "page": "options/options.html" } |
Используйте ключ options_ui для определения страницы настроек (страница настроек) для вашего расширения.
Страница настроек содержит параметры расширения. Пользователь может получить к ней доступ в менеджере дополнений браузера, а вы можете открыть её изнутри расширения, используя runtime.openOptionsPage().
Вы указываете options_ui как путь к HTML-файлу, входящему в состав вашего расширения. HTML-файл может содержать CSS- и JavaScript-файлы, как и обычная веб-страница. Однако, в отличие от обычной страницы, JavaScript может использовать все API расширений WebExtension, для которых у расширения есть разрешения. Однако, он выполняется в другом контексте, чем ваши скрипты фона.
Если вы хотите обмениваться данными или функциями между JavaScript на вашей странице настроек и вашими скриптами фона, вы можете сделать это напрямую, получив ссылку на объект Window ваших скриптов фона с помощью extension.getBackgroundPage(), или ссылку на объект Window любой из страниц, работающих внутри вашего расширения, с помощью extension.getViews(). В качестве альтернативы, вы можете обмениваться данными между JavaScript вашей страницы настроек и скриптами фона, используя runtime.sendMessage(), runtime.onMessage или runtime.connect(). Последние (или эквиваленты runtime.Port) также могут использоваться для обмена настройками между вашими скриптами фона и вашими скриптами контента.
В целом, вы захотите сохранять изменения настроек на страницах настроек, используя API хранения, чтобы либо storage.sync() (если вы хотите, чтобы настройки синхронизировались на всех экземплярах браузера, в которые пользователь вошёл), либо storage.local() (если настройки локальны для текущей машины/профиля). Если вы это сделаете, и вашим скриптам фона (или скриптам контента) необходимо узнать об изменении, ваши скрипты могут добавить слушатель к storage.onChanged.
Синтаксис
Ключ options_ui — это объект со следующим содержимым:
| Имя | Тип | Описание |
|---|---|---|
browser_styleНеобязательно | Boolean | По умолчанию Используйте его для включения в вашу страницу таблицы стилей, которые сделают её согласованной с пользовательским интерфейсом браузера и с другими расширениями, которые используют свойство В Firefox таблицу стилей можно найти по адресу В Руководстве по стилям Firefox описаны классы, которые можно применять к элементам всплывающего окна, чтобы получить определенные стили. |
open_in_tabНеобязательно | Boolean | По умолчанию Если |
page | String | Обязательно. Путь к HTML-файлу, содержащему описание вашей страницы настроек. Путь относителен к расположению самого |
Пример
"options_ui": { "page": "options/options.html" }
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | |
options_ui |
40 | 79 | 48 | ? | 27 | 14 | ? | ? | 57 | ? | 15 | ? |
browser_style |
40 | 79 | 55 | ? | 27 | Нет | ? | ? | 57 | ? | Нет | ? |
open_in_tab |
40 | 79 | 48 | ? | НетСтраницы настроек всегда открываются в отдельной вкладке браузера. |
НетСтраницы настроек всегда открываются в отдельной вкладке браузера. |
? | ? | 57 | ? | НетСтраницы настроек всегда открываются в отдельной вкладке браузера. |
? |
page |
40 | 79 | 48 | ? | 27 | 14 | ? | ? | 57 | ? | 15 | ? |
См. также
-
options_pageУстаревший - Стили браузера
- Страницы настроек
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/options_ui