webNavigation.getAllFrames()

Angaben einer Tab-ID ermöglichen es, Informationen über alle enthaltenen Frames abzurufen.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

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

Parameter

details

object. Informationen über den Tab, von dem alle Frames abgerufen werden sollen.

tabId

integer. Die ID des Tabs.

Rückgabewert

Ein Promise, das mit einem Array von Objekten erfüllt wird, von denen jedes die folgenden Eigenschaften hat:

errorOccurred

boolean. Wahr, wenn die letzte Navigation in diesem Frame durch einen Fehler unterbrochen wurde, d. h. das onErrorOccurred-Ereignis ausgelöst wurde.

processId Optional Veraltet

integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Als er gesetzt wurde, repräsentierte er die ID des Prozesses, der das Renderer für diesen Tab ausführte.

frameId

integer. Die ID des Frames. Wenn dies der Hauptframe ist, ist frameId null.

parentFrameId

integer. ID des übergeordneten Frames. Dies ist -1, wenn kein übergeordneter Frame vorhanden ist: das heißt, wenn dieser Frame der Top-Level-Browsing-Kontext im Tab ist.

url

string. Die URL, die derzeit mit diesem Frame verknüpft ist.

Wenn der Tab verworfen ist, wird das Promise stattdessen mit einem null-Wert aufgelöst. Wenn der angegebene Tab nicht gefunden werden konnte oder ein anderer Fehler auftritt, wird das Promise mit einer Fehlermeldung abgelehnt.

Browser-Kompatibilität

BCD tables only load in the browser

Beispiele

Dieser Code protokolliert die URLs aller Frames im aktiven Tab, wenn der Benutzer auf eine Browser-Aktion klickt:

js
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);
});

Hinweis: Diese API basiert auf Chromiums chrome.webNavigation API. Diese Dokumentation stammt aus web_navigation.json im Chromium-Code.