theme.update()

根据Theme对象的內容更新浏览器主题。

要使用此方法,扩展程序必须在其manifest.json文件中请求“theme”权限

语法

js
browser.theme.update(
  windowId,    // integer
  theme        // object
)

参数

windowId 可选

整数。窗口的 ID。如果提供此值,则主题仅应用于该窗口。如果省略,则主题将应用于所有窗口。

主题

对象。一个Theme对象,指定要修改的 UI 元素的值。

示例

将浏览器主题设置为使用太阳图形和互补的背景颜色

js
const suntheme = {
  images: {
    theme_frame: "sun.jpg",
  },
  colors: {
    frame: "#CF723F",
    tab_background_text: "#111",
  },
};

browser.theme.update(suntheme);

仅为聚焦窗口设置主题

js
const day = {
  images: {
    theme_frame: "sun.jpg",
  },
  colors: {
    frame: "#CF723F",
    tab_background_text: "#111",
  },
};

browser.menus.create({
  id: "set-theme",
  title: "set theme",
  contexts: ["all"],
});

async function updateThemeForCurrentWindow() {
  let currentWindow = await browser.windows.getLastFocused();
  browser.theme.update(currentWindow.id, day);
}

browser.menus.onClicked.addListener(updateThemeForCurrentWindow);

扩展示例

浏览器兼容性

BCD 表格仅在浏览器中加载