windows.getLastFocused()
Gets the window that was most recently focused — typically the window 'on top'.
This is an asynchronous function that returns a Promise.
Syntax
let gettingWindow = browser.windows.getLastFocused(
getInfo // optional object
)
Parameters
getInfoOptional-
object.populateOptional-
boolean. Iftrue, thewindows.Windowobject will have atabsproperty that contains a list oftabs.Tabobjects representing the tabs in the window. TheTabobjects only contain theurl,titleandfavIconUrlproperties if the extension's manifest file includes the"tabs"permission or host permissions matching the tab's URL. windowTypesOptional-
An
arrayofwindows.WindowTypeobjects. If set, thewindows.Windowreturned will be filtered based on its type. If unset the default filter is set to['normal', 'panel', 'popup'], with'panel'window types limited to the extension's own windows.
Note: If supplied, the windowTypes component of getInfo is ignored. The use of windowTypes has been deprecated as of Firefox 62.
Return value
A Promise that will be fulfilled with a windows.Window object containing the details of the last focused window. If any error occurs, the promise will be rejected with an error message.
Browser compatibility
| desktop | mobile | ||||||
|---|---|---|---|---|---|---|---|
getLastFocused | |||||||
getInfo | |||||||
getInfo.windowTypes | |||||||
Examples
Get the last focused window, and log the tabs it contains. Note that you'll need the "tabs" permission or matching host permissions to access tab URLs.
function logTabs(windowInfo) {
for (const tabInfo of windowInfo.tabs) {
console.log(tabInfo.url);
}
}
function onError(error) {
console.error(`Error: ${error}`);
}
browser.browserAction.onClicked.addListener((tab) => {
browser.windows.getLastFocused({ populate: true }).then(logTabs, onError);
});
Note: This API is based on Chromium's chrome.windows API. This documentation is derived from windows.json in the Chromium code.