action.setTitle()
设置浏览器操作的标题。标题显示在鼠标悬停在浏览器操作图标上时的提示框中。你可以传入 tabId
或 windowId
作为可选参数——如果这样做,则仅针对指定的标签页或窗口更改标题。没有特定标题的标签页或窗口会继承全局标题文本,其默认为清单中指定的 default_title
或 name
。
备注:该 API 在 Manifest V3 或更高版本中可用。
语法
js
browser.action.setTitle(
details // 对象
)
参数
details
-
object
,包含新的标题的对象,可选地包含要设置的标签页或窗口的 id。title
-
string
或null
,当鼠标移动到浏览器操作上时需要显示的字符串。若
title
是空字符串,那么使用的标题将是扩展名,但是action.getTitle
仍然会提供空字符串。若
title
是null
:- 若指定了
tabId
,并且标签页设置了特定的标题,那么标签页将继承其所属窗口的标题。 - 若指定了
windowId
,并且窗口设置了特定的标题,那么窗口将继承全局标题。 - 否则,全局标题将重置为清单标题。
- 若指定了
tabId
可选-
integer
,指定要设置标题的标签页。 windowId
可选-
integer
,指定要设置标题的窗口。
- 若同时指定了
windowId
和tabId
,则函数出错且不会设置标题。 - 若同时未指定
windowId
和tabId
,则将设置全局标题。
示例
这段代码在用户点击浏览器操作时在“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
。