Spec-Zone.ru › Web Extensions

webNavigation.getAllFrames()

При заданном идентификаторе вкладки, получает информацию обо всех фреймах, которые она содержит.

Это асинхронная функция, которая возвращает Promise.

Синтаксис

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

Параметры

details

object. Информация о вкладке, из которой необходимо получить все фреймы.

tabId

integer. Идентификатор вкладки.

Значение возврата

A Promise, который будет выполнен с массивом объектов, каждый из которых имеет следующие свойства:

errorOccurred

boolean. Истина, если последнее навигационное действие в этом фрейме было прервано ошибкой, т.е. сработал событие onErrorOccurred.

processId

integer. Идентификатор процесса, выполняющего рендерер для этой вкладки.

frameId

integer. Идентификатор фрейма. Если это основной фрейм, то frameId равно нулю.

parentFrameId

integer. Идентификатор родительского фрейма. Равно -1, если родительский фрейм отсутствует: т.е. если этот фрейм является контекстом верхнего уровня просмотра во вкладке.

url

string. URL, в данный момент ассоциированный с этим фреймом.

Если вкладка отброшена, обещание вместо этого выполнится со значением null. Если указанная вкладка не найдена или возникает другая ошибка, обещание будет отклонено с сообщением об ошибке.

Совместимость с браузерами

Рабочий стол Мобильные устройства
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet
getAllFrames Да 14
47Возвращаемые объекты не включают свойство errorOccurred. См. баг 1248418.
? 17 14 ? ?
48Возвращаемые объекты не включают свойство errorOccurred. См. баг 1248418.
? 15 ?

Примеры

Этот код выводит URL всех фреймов в активной вкладке, когда пользователь нажимает на действие браузера:

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

Примечание: Этот API основан на API chrome.webNavigation Chromium. Данная документация взята из web_navigation.json кода Chromium.

© 2005–2023 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API