Given a tab ID, retrieves information about all the frames it contains.
This is an asynchronous function that returns a Promise
.
var gettingFrames = browser.webNavigation.getAllFrames( details // object )
details
object
. Information about the tab to retrieve all frames from.tabId
integer
. The ID of the tab.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 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.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
getAllFrames |
Yes |
14 |
47
The returned objects do not include the
errorOccurred property. See bug 1248418. |
? |
17 |
14 |
? |
? |
48
The returned objects do not include the
errorOccurred property. See bug 1248418. |
? |
? |
? |
This code logs the URLs of all frames in the active tab, when the user clicks a browser action:
function logFrameInfo(framesInfo) { for (frameInfo of framesInfo) { console.log(frameInfo); } } function onError(error) { console.log(`Error: ${error}`); } function logAllFrames(tabs) { var gettingAllFrames = browser.webNavigation.getAllFrames({tabId: tabs[0].id}); gettingAllFrames.then(logFrameInfo, onError); } browser.browserAction.onClicked.addListener(function() { var querying = browser.tabs.query({ currentWindow: true, active: true }); querying.then(logAllFrames, onError); });
Note: This API is based on Chromium's chrome.webNavigation
API. This documentation is derived from web_navigation.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.
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webNavigation/getAllFrames