management.install() 编辑

Installs and enables a theme extension from the given URL.

This API requires the "management" API permission and will only work with signed themes.

This is an asynchronous function that returns a Promise.

Syntax

let {id} = await browser.management.install({url});

Parameters

options
An object that includes the URL of the XPI file of the theme at addons.mozilla.org and an optional a hash of the XPI file, using sha256 or stronger.

Return value

A Promise that will be fulfilled with an object, containing the ExtensionID defined for the theme in manifest.json.

Browser compatibility

BCD tables only load in the browser

Examples

Cycle through a list of themes:

"use strict";

let 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;
        let {id} = await browser.management.install({url});
        console.log("Theme installed: " + id);
    } catch (e) {
        console.error("Installation failed: " + e);
    }
}

browser.browserAction.onClicked.addListener(() => {
    let id = themes.indexOf(current);
    install(themes[(id + 1) % themes.length]);
});

for (let url of themes) {
    browser.menus.create({
        title: url,
        onclick: () => install(url),
        contexts: ["browser_action"],
    });
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:58 次

字数:2879

最后编辑:6年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文