Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mohamedkhallouq
GitHub Repository: mohamedkhallouq/content
Path: blob/main/files/en-us/mozilla/add-ons/webextensions/api/webnavigation/getallframes/index.md
6552 views
---
title: webNavigation.getAllFrames() slug: Mozilla/Add-ons/WebExtensions/API/webNavigation/getAllFrames page-type: webextension-api-function tags: - API - Add-ons - Extensions - Method - Non-standard - Reference - WebExtensions - getAllFrames - webNavigation browser-compat: webextensions.api.webNavigation.getAllFrames
---

{{AddonSidebar()}}

Given a tab ID, retrieves information about all the frames it contains.

This is an asynchronous function that returns a Promise.

Syntax

let gettingFrames = browser.webNavigation.getAllFrames( details // object )

Parameters

  • details

    • : object. Information about the tab to retrieve all frames from.

      • tabId

        • : integer. The ID of the tab.

Return value

A Promise that will be fulfilled with an array of objects, each of which has the following properties:

  • errorOccurred

    • : boolean. True if the last navigation in this frame was interrupted by an error, i.e. the {{WebExtAPIRef("webNavigation.onErrorOccurred", "onErrorOccurred")}} event fired.

  • processId

    • : integer. The ID of the process running the renderer for this tab.

  • frameId

    • : integer. The ID of the frame. If this is the main frame, then frameId is zero.

  • parentFrameId

    • : integer. ID of this frame's parent. This is -1 if there is no parent frame: that is, if this frame is the top-level browsing context in the tab.

  • url

    • : string. The URL currently associated with this frame.

If the tab is discarded, the promise will instead resolve with a null value. If the specified tab could not be found, or some other error occurs, the promise will be rejected with an error message.

Browser compatibility

{{Compat}}

Examples

This code logs the URLs of all frames in the active tab, when the user clicks a browser action:

function logFrameInfo(framesInfo) { for (const frameInfo of framesInfo) { console.log(frameInfo); } } function onError(error) { console.error(`Error: ${error}`); } function logAllFrames(tabs) { browser.webNavigation .getAllFrames({ tabId: tabs[0].id, }) .then(logFrameInfo, onError); } browser.browserAction.onClicked.addListener(() => { browser.tabs .query({ currentWindow: true, active: true, }) .then(logAllFrames, onError); });

{{WebExtExamples}}

Note: This API is based on Chromium's chrome.webNavigation API. This documentation is derived from web_navigation.json in the Chromium code.