management.install()
Устанавливает и включает расширение темы из указанного URL.
Для этого API требуется разрешение «management» API-разрешение, и оно будет работать только с подписанными темами.
Это асинхронная функция, которая возвращает Promise.
Синтаксис
browser.management.install(options)
Параметры
- options
-
Объект, содержащий URL файла XPI темы на addons.mozilla.org и необязательный хэш файла XPI, используя sha256 или более сильный алгоритм.
Возвращаемое значение
A Promise, который будет выполнен с объектом, содержащим ExtensionID , определёнными для темы в manifest.json.
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | |
install |
Нет | Нет | ? | Нет | Нет | ? | ? | ? | Нет | ? | ||
Примеры
Перебор списка тем:
"use strict"; const themes = [ "https://addons.mozilla.org/firefox/downloads/file/1063216/insightscare-1.0-fx.xpi", "https://addons.mozilla.org/firefox/downloads/file/1063419/orange_roses-1.0-fx.xpi", "https://addons.mozilla.org/firefox/downloads/file/1062647/sticktoyourguns-2.0-fx.xpi", "https://addons.mozilla.org/firefox/downloads/file/0/bad_url.xpi", ]; let current; async function install(url) { try { current = url; const { id } = await browser.management.install({ url }); console.log(`Theme installed: ${id}`); } catch (e) { console.error(`Installation failed: ${e}`); } } browser.browserAction.onClicked.addListener(() => { const id = themes.indexOf(current); install(themes[(id + 1) % themes.length]); }); for (const url of themes) { browser.menus.create({ title: url, onclick: () => install(url), contexts: ["browser_action"], }); }
© 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/API/management/install