webNavigation.getAllFrames()
Gibt die Informationen zu allen Frames in einem gegebenen Tab zurück.
Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.
Syntax
let gettingFrames = browser.webNavigation.getAllFrames(
details // object
)
Parameter
Rückgabewert
Ein Promise, das mit einem Array von Objekten erfüllt wird. Jedes dieser Objekte hat folgende Eigenschaften:
errorOccurred-
boolean. Wahr, wenn die letzte Navigation in diesem Frame durch einen Fehler unterbrochen wurde, das heißt, dasonErrorOccurred-Ereignis ausgelöst wurde. url-
string. Die URL, die mit diesem Frame verknüpft ist. frameId-
integer. Die ID des Frames. Wenn dies der Hauptframe ist, dann istframeIdgleich null. frameType-
string. Der Typ des Frames. Gibt die Werte"outermost_frame","fenced_frame"oder"sub_frame"zurück. parentFrameId-
integer. ID des übergeordneten Frames dieses Frames. Dies ist -1, wenn es keinen übergeordneten Frame gibt: das heißt, wenn dieser Frame der oberste Browsing-Kontext im Tab ist. documentId-
string. Eine UUID des Dokuments des Frames. Für weitere Informationen siehe den Artikel Mit documentId arbeiten. parentDocumentId-
string. Eine UUID des übergeordneten Dokuments, dem der Frame gehört. Nicht gesetzt, wenn es keinen übergeordneten Frame gibt. Für weitere Informationen siehe den Artikel Mit documentId arbeiten. documentLifecycle-
string. Der Lebenszyklus, in dem sich das Dokument befindet. Gibt die Werte"prerender","active","cached"oder"pending_deletion"zurück. processIdOptional-
integer. Dieser Wert wird in modernen Browsern nicht gesetzt. Wenn er gesetzt war, stellte er die ID des Prozesses dar, der den Renderer für diesen Tab ausführt.
Wenn der Tab verworfen wird, 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.
Beispiele
Dieser Code protokolliert die URLs aller Frames im aktiven Tab, wenn der Benutzer auf eine Browser-Aktion klickt:
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);
});
Browser-Kompatibilität
Hinweis:
Diese API basiert auf Chromiums chrome.webNavigation API. Diese Dokumentation ist abgeleitet von web_navigation.json im Chromium-Code.