action.setTitle()

设置浏览器操作的标题。标题显示在鼠标悬停在浏览器操作图标上时的提示框中。你可以传入 tabIdwindowId 作为可选参数——如果这样做,则仅针对指定的标签页或窗口更改标题。没有特定标题的标签页或窗口会继承全局标题文本,其默认为清单中指定的 default_titlename

备注: 该 API 在 Manifest V3 或更高版本中可用。

语法

js
browser.action.setTitle(
  details // 对象
)

参数

details

object,包含新的标题的对象,可选地包含要设置的标签页或窗口的 id。

title

stringnull,当鼠标移动到浏览器操作上时需要显示的字符串。

title 是空字符串,那么使用的标题将是扩展名,但是 action.getTitle 仍然会提供空字符串。

titlenull

  • 若指定了 tabId,并且标签页设置了特定的标题,那么标签页将继承其所属窗口的标题。
  • 若指定了 windowId,并且窗口设置了特定的标题,那么窗口将继承全局标题。
  • 否则,全局标题将重置为清单标题。
tabId 可选

integer,指定要设置标题的标签页。

windowId 可选

integer,指定要设置标题的窗口。

  • 若同时指定了 windowIdtabId,则函数出错且不会设置标题。
  • 若同时未指定 windowIdtabId,则将设置全局标题。

示例

这段代码在用户点击浏览器操作时在“this”和“that”之间切换标题:

js
function toggleTitle(title) {
  if (title === "this") {
    browser.action.setTitle({ title: "that" });
  } else {
    browser.action.setTitle({ title: "this" });
  }
}

browser.action.onClicked.addListener(() => {
  let gettingTitle = browser.action.getTitle({});
  gettingTitle.then(toggleTitle);
});

浏览器兼容性

BCD tables only load in the browser

备注: 该 API 基于 Chromium 的 chrome.action API。本文衍生自 Chromium 代码中的 browser_action.json