MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-survey

Add-ons

pageAction.setPopup()

Sets the HTML document to be opened as a popup when the user clicks on the page action's icon.

Syntax

browser.pageAction.setPopup(
  details // object
)

Parameters

details
object.
tabId
integer. The ID of the tab for which you want to set the popup.
popup
string or null. URL to the HTML file to show in a popup.
If an empty string ("") is passed here, the popup is disabled, and the extension will receive pageAction.onClicked events.
If null is passed here, the popup is reset to the popup that was specified in the page_action manifest key.

Browser compatibility

ChromeEdgeFirefoxFirefox for AndroidOpera
Basic support Yes Yes45501 Yes
The popup property of the details parameter can be set to null. No No59 No No

1. The 'tabId' parameter is ignored, and the popup is set for all tabs.

Examples

Listen for tabs.onUpdated events, and switch the popup if the loading status changes:

browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => {
  if (changeInfo.status) {
    browser.pageAction.show(tabId);
    if (changeInfo.status == "loading") {
      browser.pageAction.setPopup({
        tabId,
        popup: "/popup/loading.html"
      });
    } else {
      browser.pageAction.setPopup({
        tabId,
        popup: "/popup/complete.html"
      });
    }
  }
});

Acknowledgements

This API is based on Chromium's chrome.pageAction API. This documentation is derived from page_action.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: Loirooriol, wbamberg, Makyen, chrisdavidmills
 Last updated by: Loirooriol,