Spec-Zone.ru › Web Extensions

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 Нет Нет
63Файл, на который указывает url, должен быть темой, а не обычным расширением браузера.
? Нет Нет ? ?
63Файл, на который указывает url, должен быть темой, а не обычным расширением браузера.
? Нет ?

Примеры

Перебор списка тем:

"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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API