tabs.duplicate()
根据标签页的 ID 复制一个标签页。
这是一个返回 Promise
的异步函数。
语法
js
let duplicating = browser.tabs.duplicate(
tabId, // 整数
duplicateProperties // 可选对象
)
参数
tabId
-
integer
。要复制的标签页的 ID。 duplicateProperties
可选-
object
。一个描述如何复制标签页的对象。它包含以下属性:
返回值
一个 Promise
,其会在复制标签页后兑现一个 tabs.Tab
对象,描述复制的标签页的详细信息。如果扩展具有 "tabs"
权限或匹配的主机权限,Tab
对象只包含 url
、title
和 favIconUrl
。如果发生任何错误,则该 promise 将以错误消息拒绝。
备注: 从 Firefox 68 开始,browser.tabs.duplicate() 返回的 promise 在标签页被复制后立即兑现。以前,promise 只有在标签页完全加载后才会兑现。
示例
复制第一个标签页,然后记录新创建的标签页的 ID:
js
function onDuplicated(tabInfo) {
console.log(tabInfo.id);
}
function onError(error) {
console.log(`发生错误:${error}`);
}
// 复制数组中的第一个标签页
function duplicateFirstTab(tabs) {
console.log(tabs);
if (tabs.length > 0) {
let duplicating = browser.tabs.duplicate(tabs[0].id);
duplicating.then(onDuplicated, onError);
}
}
// 查询所有打开的标签页
let querying = browser.tabs.query({});
querying.then(duplicateFirstTab, onError);
示例扩展
浏览器兼容性
Loading…
备注:
此 API 基于 Chromium 的 chrome.tabs
API。该文档衍生自 Chromium 代码中的 tabs.json
。