Returns the Window of the background page if the background script is running. If the script is not running, null is returned.

This a synchronous function.

Note: This method cannot be used in Private Browsing mode — it always returns null. Consider using runtime.sendMessage() or runtime.connect(). See bug 1329304 for more information.


let page = browser.extension.getBackgroundPage()



Return value

object. Window of the background page or null.


Suppose a background script defines a function foo():

// background.js

function foo() {
  console.log("I'm defined in background.js");

A script running in a popup can call this function directly like this:

// popup.js

let page = browser.extension.getBackgroundPage();
page.foo(); // -> "I'm defined in background.js"

Example extensions

Browser compatibility

BCD tables only load in the browser

Note: This API is based on Chromium's chrome.extension API. This documentation is derived from extension.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.