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 Firefox 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.