tabs.duplicate()

Duplicates a tab, given its ID.

This is an asynchronous function that returns a Promise.

Syntax

var duplicating = browser.tabs.duplicate(
  tabId              // integer
)

Parameters

tabId
integer. The ID of the tab which is to be duplicated.

Return value

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. If any error occurs the promise will be rejected with an error message.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic supportYesNo4754Yes

Examples

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);

Example extensions

Acknowledgements

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.

Document Tags and Contributors

 Contributors to this page: wbamberg, Makyen
 Last updated by: wbamberg,