Duplicates a tab, given its ID.
This is an asynchronous function that returns a
Promise
.
var duplicating = browser.tabs.duplicate(
tabId
,
// integer
duplicateProperties
// optional object
)
tabId
integer
. The ID of the tab to be duplicated.
duplicateProperties
可选
对象
. An object describing how the tab is duplicated. It contains the following properties:
index
可选
integer
. The position of the new tab in the window. The value is constrained to the range zero to the number of tabs in the window.
active
可选
boolean
. Whether the tab becomes the active tab in the window. Does not affect whether the window is focused. Defaults to
true
.
A
Promise
that will be fulfilled with a
tabs.Tab
object containing details about the duplicated tab. The
Tab
object only contains
url
,
title
and
favIconUrl
if the extension has the
"tabs"
permission
or matching
host permissions
. If any error occurs the promise will be rejected with an error message.
注意: Beginning with Firefox 68, the promise returned by browser.tabs.duplicate() resolves as soon as the tab has been duplicated. Previously, the promise only resolved once the tab had fully been loaded.
Duplicate the first tab, and then log the ID of the newly created tab:
function onDuplicated(tabInfo) {
console.log(tabInfo.id);
}
function onError(error) {
console.log(`Error: ${error}`);
}
// Duplicate the first tab in the array
function duplicateFirstTab(tabs) {
console.log(tabs);
if (tabs.length > 0) {
var duplicating = browser.tabs.duplicate(tabs[0].id);
duplicating.then(onDuplicated, onError);
}
}
// Query for all open tabs
var querying = browser.tabs.query({});
querying.then(duplicateFirstTab, onError);
BCD tables only load in the browser
注意:
This API is based on Chromium's
chrome.tabs
API. This documentation is derived from
tabs.json
in the Chromium code.
Microsoft Edge compatibility data is supplied by Microsoft Corporation and is included here under the Creative Commons Attribution 3.0 United States License.
最后修改: , 由 MDN 贡献者