chrome.tabs

refresh date: 2026-09-25 robots: noindex

Описание

Используйте chrome.tabs API для взаимодействия с системой вкладок браузера. С помощью этого API можно создавать, изменять и упорядочивать вкладки в браузере.

Обзор

Tabs API не только предлагает функции для управления вкладками, но и может определять язык вкладки, делать скриншоты и взаимодействовать со скриптами контента вкладки.

Разрешения

Для использования большинства функций разрешения не требуются. Например, создание новой вкладки, перезагрузка вкладки, переход по другому URL и т. д.

При работе с Tabs API разработчикам следует учитывать три разрешения.

Разрешение tabs
Это разрешение не дает доступа к пространству имен chrome.tabs. Оно позволяет расширению вызывать tabs.query() для четырех конфиденциальных свойств в экземплярах tabs.Tab: url, pendingUrl, title и favIconUrl.
Разрешения для организаторов
Разрешения хоста позволяют расширению считывать и запрашивать четыре конфиденциальных свойстваtabs.Tab соответствующей вкладки. Они также могут напрямую взаимодействовать с соответствующими вкладками, используя такие методы, как tabs.captureVisibleTab(), tabs.executeScript(), tabs.insertCSS() и tabs.removeCSS().
Разрешение activeTab
activeTab предоставляет расширению временное разрешение на доступ к хостам для текущей вкладки в ответ на вызов пользователя. В отличие от разрешений для хостов, activeTab не вызывает предупреждений.

Манифест

Ниже приведены примеры того, как объявить каждое разрешение в манифесте.

  {
    "name": "My extension",
    ...
    "permissions": [
      "tabs"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "name": "My extension",
    ...
    "permissions": [
      "activeTab"
    ],
    ...
  }

Примеры использования

Ниже приведены примеры распространенных сценариев использования.

Открытие страницы расширения в новой вкладке

Распространенным шаблоном для расширений является открытие страницы адаптации в новой вкладке, когда расширение установлен. Ниже показано, как это сделать.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

Как получить текущую вкладку

В этом примере показано, как сервис-воркер расширения может получить активную вкладку из окна, находящегося в фокусе (или из окна, которое было в фокусе последним, если ни одно окно Chrome не находится в фокусе). Обычно это текущая вкладка пользователя.

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

Отключить звук на указанной вкладке

В этом примере показано, как расширение может включать и отключать звук на определенной вкладке.

  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

Перемещать текущую вкладку на первую позицию при нажатии

В примере показано, как переместить вкладку, когда перетаскивание может выполняться или не выполняться. Хотя в этом примере используется chrome.tabs.move, вы можете использовать тот же шаблон ожидания для других вызовов, которые изменяют вкладки во время перетаскивания.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

Передать сообщение скрипту контента выбранной вкладки

В этом примере показано, как сервисный скрипт расширения может взаимодействовать со скриптами контента на определенных вкладках браузера с помощью tabs.sendMessage().

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

Примеры расширений

Чтобы посмотреть другие демонстрации расширений Tabs API, перейдите по любой из следующих ссылок:

Типы

MutedInfo

Chrome 46 и более поздних версий;

Статус отключения звука на вкладке и причина последнего изменения статуса.

Свойства

  • extensionId

    Строка (необязательно)

    Идентификатор расширения, которое изменило статус отключения звука. Не задано, если расширение не было причиной последнего изменения состояния отключения звука.

  • Без звука

    Логическое значение

    Указывает, отключен ли звук на вкладке. Звук на вкладке можно отключить, даже если он не воспроизводится в данный момент. Это эквивалентно тому, показывается ли индикатор отключенного звука.

  • reason

    MutedInfoReason необязательный

    Причина, по которой звук на вкладке был включен или отключен. Не задано, если статус отключения звука на вкладке никогда не менялся.

MutedInfoReason

Chrome 46 и более поздних версий;

Событие, которое привело к изменению состояния отключения звука.

Перечисление

"user"
Пользователь отключил звук.

"capture"
Начата запись вкладки, что привело к принудительному изменению состояния отключения звука.

"extension"
Расширение, указанное в поле extensionId, установило статус отключения звука.

Tab

Свойства

  • активно

    Логическое значение

    Активна ли вкладка в своем окне. Это не обязательно означает, что окно находится в фокусе.

  • Audible

    Логическое значение (необязательно)

    Chrome 45 и более поздних версий;

    Воспроизводился ли звук на вкладке в течение последних нескольких секунд (но он может быть не слышен, если звук отключен). Это эквивалентно тому, показывается ли индикатор "Аудио говорящего".

  • autoDiscardable

    Логическое значение

    Chrome 54 и более поздних версий;

    Определяет, может ли браузер автоматически закрывать вкладку при нехватке ресурсов.

  • отклонили

    Логическое значение

    Chrome 54 и более поздних версий;

    Удалена ли вкладка. Отклоненная вкладка – это вкладка, контент которой был выгружен из памяти, но которая по-прежнему видна на панели вкладок. Контент перезагружается при следующей активации.

  • favIconUrl

    Строка (необязательно)

    URL значка вкладки. Это свойство присутствует, только если у расширения есть разрешение "tabs" или разрешение хоста для страницы. Если вкладка загружается, строка может быть пустой.

  • завис

    Логическое значение

    Chrome 132 и более поздних версий.

    Заморожена ли вкладка. Замороженная вкладка не может выполнять задачи, в том числе обработчики событий и таймеры. Она видна на панели вкладок, а ее контент загружен в память. При активации она размораживается.

  • groupId

    число

    Chrome 88 и более поздних версий;

    Идентификатор группы, к которой относится вкладка.

  • высота

    number (необязательно)

    Высота вкладки в пикселях.

  • выделенное

    Логическое значение

    Выделена ли вкладка.

  • id

    number (необязательно)

    Идентификатор вкладки. Идентификаторы вкладок уникальны в пределах сеанса браузера. В некоторых случаях вкладке может не назначаться идентификатор, например при запросе внешних вкладок с помощью API sessions. В этом случае может присутствовать идентификатор сеанса. Для приложений и окон инструментов разработчика идентификатор вкладки также может быть равен chrome.tabs.TAB_ID_NONE.

  • инкогнито

    Логическое значение

    Находится ли вкладка в окне инкогнито.

  • индекс

    число

    Индекс вкладки в окне, начиная с нуля.

  • lastAccessed

    число

    Chrome 121 и более поздних версий

    Время, когда вкладка в последний раз стала активной в своем окне, в миллисекундах с начала эпохи.

  • mutedInfo

    MutedInfo необязательный

    Chrome 46 и более поздних версий;

    Статус отключения звука на вкладке и причина последнего изменения статуса.

  • openerTabId

    number (необязательно)

    Идентификатор вкладки, которая открыла эту вкладку (если есть). Это свойство присутствует, только если вкладка, с которой была открыта текущая, все ещё существует.

  • pendingUrl

    Строка (необязательно)

    Chrome 79 и более поздних версий;

    URL, на который переходит вкладка, до подтверждения. Это свойство присутствует, только если у расширения есть разрешение "tabs" или разрешение хоста для страницы и есть ожидающая навигация.

  • в главном окн

    Логическое значение

    Закреплена ли вкладка.

  • выбрано

    Логическое значение

    Поддержка прекращена

    Используйте tabs.Tab.highlighted.

    Выбрана ли вкладка.

  • sessionId

    Строка (необязательно)

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

  • splitViewId

    number (необязательно)

    Chrome 140+

    Идентификатор параллельного просмотра, к которому относится вкладка.

  • статус

    TabStatus необязательный

    Статус загрузки вкладки.

  • название

    Строка (необязательно)

    Название вкладки. Это свойство присутствует, только если у расширения есть разрешение "tabs" или разрешение хоста для страницы.

  • url

    Строка (необязательно)

    Последний зафиксированный URL основного фрейма вкладки. Это свойство присутствует, только если у расширения есть разрешение "tabs" или разрешение хоста для страницы. Может быть пустой строкой, если вкладка ещё не зафиксирована. Дополнительные сведения: Tab.pendingUrl.

  • ширина

    number (необязательно)

    Ширина вкладки в пикселях.

  • windowId

    число

    Идентификатор окна, в котором находится вкладка.

TabStatus

Chrome 44 и более поздних версий;

Статус загрузки вкладки.

Перечисление

"unloaded"

"loading"

"complete"

WindowType

Chrome 44 и более поздних версий;

Тип окна.

Перечисление

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

Определяет, как обрабатываются изменения масштаба на вкладке и в какой области.

Свойства

  • defaultZoomFactor

    number (необязательно)

    Chrome 43 и более поздних версий;

    Используется для возврата уровня масштабирования по умолчанию для текущей вкладки в вызовах tabs.getZoomSettings.

  • режим

    ZoomSettingsMode необязательный

    Определяет, как обрабатываются изменения масштаба, то есть какой объект отвечает за фактическое масштабирование страницы. По умолчанию используется значение automatic.

  • область действия

    ZoomSettingsScope необязательный

    Определяет, сохраняются ли изменения масштаба для источника страницы или применяются только к этой вкладке. По умолчанию используется значение per-origin в режиме automatic и per-tab в остальных случаях.

ZoomSettingsMode

Chrome 44 и более поздних версий;

Определяет, как обрабатываются изменения масштаба, то есть какой объект отвечает за фактическое масштабирование страницы. По умолчанию используется значение automatic.

Перечисление

"automatic"
Изменения масштаба обрабатываются браузером автоматически.

"manual"
Отменяет автоматическую обработку изменений масштаба. Событие onZoomChange по-прежнему будет отправляться, и расширение должно будет отслеживать его и вручную масштабировать страницу. В этом режиме не поддерживается масштабирование per-origin, поэтому настройка масштабирования scope игнорируется и используется значение per-tab.

"disabled"
Отключает масштабирование на вкладке. Вкладка возвращается к уровню масштабирования по умолчанию, а все попытки изменить масштаб игнорируются.

ZoomSettingsScope

Chrome 44 и более поздних версий;

Определяет, сохраняются ли изменения масштаба для источника страницы или применяются только к этой вкладке. По умолчанию используется значение per-origin в режиме automatic и per-tab в остальных случаях.

Перечисление

"per-origin"
Изменения масштаба сохраняются для источника страницы, то есть все остальные вкладки, открытые из того же источника, также масштабируются. Кроме того, изменения масштаба per-origin сохраняются для источника. Это значит, что при переходе на другие страницы в том же источнике они будут отображаться в том же масштабе. Область действия per-origin доступна только в режиме automatic.

per-tab
Изменения масштаба применяются только к текущей вкладке и не влияют на другие вкладки. Кроме того, изменения масштаба per-tab сбрасываются при навигации. При переходе на вкладку страницы всегда загружаются с коэффициентом масштабирования per-origin.

Свойства

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92 и более поздних версий;

Максимальное количество вызовов captureVisibleTab в секунду. Метод captureVisibleTab требует много ресурсов, поэтому его не следует вызывать слишком часто.

Значение

2

SPLIT_VIEW_ID_NONE

Chrome 140+

Идентификатор, который указывает на отсутствие разделенной вкладки.

Значение

-1

TAB_ID_NONE

Chrome 46 и более поздних версий;

Идентификатор, который указывает на отсутствие вкладки браузера.

Значение

-1

TAB_INDEX_NONE

Chrome 123 и более поздних версий

Индекс, который представляет отсутствие индекса вкладки на панели вкладок.

Значение

-1

Методы

captureVisibleTab()

Promise
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

Делает снимок видимой области активной вкладки в указанном окне. Чтобы вызвать этот метод, у расширения должно быть разрешение <all_urls> или activeTab. Помимо сайтов, к которым у расширений обычно есть доступ, этот метод позволяет расширениям делать скриншоты сайтов с конфиденциальными данными, доступ к которым ограничен, в том числе страниц со схемой chrome:, страниц других расширений и URL с данными. Скриншоты таких сайтов можно делать только с разрешением activeTab. URL файлов могут быть получены, только если расширению предоставлен доступ к файлам.

Параметры

  • windowId

    number (необязательно)

    Целевое окно. По умолчанию используется текущее окно.

  • Параметры

    ImageDetails необязательный

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (dataUrl: string) => void

    • dataUrl

      string

      URL данных, который кодирует изображение видимой области захваченной вкладки. Может быть присвоен свойству src элемента HTML img для показа.

Возвраты

  • Promise<string>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)
: runtime.Port

Подключается к скриптам контента на указанной вкладке. Событие runtime.onConnect запускается в каждом скрипте контента, выполняющемся на указанной вкладке для текущего расширения. Подробнее об обмене сообщениями со скриптами контента…

Параметры

  • tabId

    число

  • connectInfo

    Объект (необязательно)

    • documentId

      Строка (необязательно)

      Chrome 106 и более поздних версий.

      Открыть порт для определенного документа, идентифицированного по documentId, а не для всех фреймов на вкладке.

    • frameId

      number (необязательно)

      Открыть порт для определенного фрейма, идентифицированного по frameId, а не для всех фреймов на вкладке.

    • name

      Строка (необязательно)

      Передается в onConnect для скриптов контента, которые прослушивают событие подключения.

Возвраты

  • Порт, который можно использовать для связи со скриптами контента, запущенными на указанной вкладке. Если вкладка закрыта или не существует, активируется событие runtime.Port порта.

create()

Promise
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

Создает новую вкладку.

Параметры

  • createProperties

    Объект

    • активно

      Логическое значение (необязательно)

      Должна ли вкладка стать активной в окне. Не влияет на то, находится ли окно в фокусе (см. windows.update). Значение по умолчанию – true.

    • индекс

      number (необязательно)

      Позиция, которую вкладка должна занять в окне. Указанное значение должно быть в диапазоне от нуля до количества вкладок в окне.

    • openerTabId

      number (необязательно)

      Идентификатор вкладки, которая открыла эту вкладку. Если указано, вкладка, открывшая новую, должна находиться в том же окне, что и новая вкладка.

    • в главном окн

      Логическое значение (необязательно)

      Нужно ли закрепить вкладку. Значение по умолчанию – false.

    • выбрано

      Логическое значение (необязательно)

      Поддержка прекращена

      Используйте значение active.

      Должна ли вкладка стать выбранной в окне. Значение по умолчанию – true.

    • splitWithTabId

      number (необязательно)

      Chrome 155+

      Идентификатор существующей вкладки, с которой нужно создать параллельный просмотр. Если вкладка указана, она должна соответствовать следующим условиям:

      • Вкладка не должна быть уже разделена.
      • Оно должно быть в том же окне, что и новая вкладка.
      • Если указано свойство windowId, оно должно совпадать с идентификатором окна вкладки, с которой нужно разделить экран.
      • Если указан параметр index, он должен быть индексом, смежным с вкладкой split-with, и будет влиять на относительное позиционирование вновь созданной вкладки.
    • url

      Строка (необязательно)

      URL, который изначально открывается на вкладке. Полные URL должны включать схему (например, например http://www.google.com, а не www.google.com. Относительные URL указываются относительно текущей страницы в расширении. По умолчанию это страница быстрого доступа.

    • windowId

      number (необязательно)

      Окно, в котором нужно создать вкладку. По умолчанию используется текущее окно.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab: Tab) => void

    • табуляция

      Созданная вкладка.

Возвраты

  • Promise<Tab>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

createSplit()

Promise Chrome 155+
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

Открывает две существующие вкладки в режиме параллельного просмотра.

Параметры

  • tabIds

    [number, number]

    Массив, содержащий ровно два идентификатора вкладок, которые нужно объединить в режиме параллельного просмотра. Все вкладки должны соответствовать следующим условиям:

    Они должны быть смежными. Они не должны быть уже открыты в режиме параллельного просмотра. У них должны совпадать состояния windowId, pinned и groupId.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (splitViewId: number) => void

    • splitViewId

      число

      Идентификатор нового параллельного просмотра, содержащего указанные вкладки.

Возвраты

  • Promise<number>

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

detectLanguage()

Promise
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

Определяет основной язык контента на вкладке.

Параметры

  • tabId

    number (необязательно)

    По умолчанию используется активная вкладка текущего окна.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (language: string) => void

    • language

      string

      Код языка по стандарту ISO, например en или fr. Полный список языков, поддерживаемых этим методом, приведен в таблице kLanguageInfoTable. Проверяются столбцы со второго по четвертый и возвращается первое значение, отличное от NULL, за исключением упрощенного китайского языка, для которого возвращается zh-CN. Для неизвестного или неопределенного языка возвращается und.

Возвраты

  • Promise<string>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

discard()

Promise Chrome 54+
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)
: Promise<Tab | undefined>

Удаляет вкладку из памяти. Отключенные вкладки по-прежнему видны на панели вкладок и перезагружаются при активации.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, которую нужно закрыть. Если правило задано, вкладка выгружается, если она неактивна или уже выгружена. Если это правило не задано, браузер удаляет наименее важную вкладку. Если таких вкладок нет, то действие не будет выполнено.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab?: Tab) => void

    • табуляция

      Tab необязательный

      Удаленная вкладка, если она была успешно удалена; в противном случае не определено.

Возвраты

  • Promise<Tab | undefined>

    Chrome 88 и более поздних версий;

    Разрешается после завершения операции.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

duplicate()

Promise
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

Создает копию вкладки.

Параметры

  • tabId

    число

    Идентификатор вкладки, копию которой нужно создать.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab?: Tab) => void

    • табуляция

      Tab необязательный

      Сведения о дублированной вкладке. Свойства url, pendingUrl, title и favIconUrl включаются в объект tabs.Tab, только если у расширения есть разрешение "tabs" или разрешения хоста для страницы.

Возвраты

  • Promise<Tab | undefined>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

executeScript()

Promise &leq; MV2 Поддержка прекращена в Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

В Manifest V3 заменено на scripting.executeScript.

Внедряет код JavaScript на страницу. Подробную информацию можно найти в разделе Программное внедрение документации по скриптам контента.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, на которой нужно запустить скрипт. По умолчанию это активная вкладка текущего окна.

  • подробные сведения

    Сведения о скрипте, который нужно запустить. Необходимо указать либо код, либо свойство файла, но не оба одновременно.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (result?: any[]) => void

    • Результат

      any[] необязательный

      Результат выполнения скрипта в каждом внедренном фрейме.

Возвраты

  • Promise<any[] | undefined>

    Chrome 88 и более поздних версий;

    Выполняется после того, как будет выполнен весь код JavaScript.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

get()

Promise
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

Извлекает сведения об указанной вкладке.

Параметры

  • tabId

    число

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab: Tab) => void

    • табуляция

Возвраты

  • Promise<Tab>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getAllInWindow()

Promise &leq; MV2 Поддержка прекращена
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

Используйте tabs.query {windowId: windowId}.

Возвращает сведения обо всех вкладках в указанном окне.

Параметры

  • windowId

    number (необязательно)

    По умолчанию используется текущее окно.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tabs: Tab[]) => void

    • вкладки

      Tab[]

Возвраты

  • Promise<Tab[]>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

Возвращает вкладку, из которой вызывается скрипт. Возвращает undefined, если вызов происходит не из контекста вкладки (например, из фоновой страницы или всплывающего окна).

Параметры

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab?: Tab) => void

    • табуляция

      Tab необязательный

Возвраты

  • Promise<Tab | undefined>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getSelected()

Promise &leq; MV2 Поддержка прекращена
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)
: Promise<Tab>

Используйте tabs.query {active: true}.

Возвращает вкладку, выбранную в указанном окне.

Параметры

  • windowId

    number (необязательно)

    По умолчанию используется текущее окно.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab: Tab) => void

    • табуляция

Возвраты

  • Promise<Tab>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getZoom()

Promise
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

Получает текущий коэффициент масштабирования указанной вкладки.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, для которой нужно получить текущий коэффициент масштабирования. По умолчанию используется активная вкладка текущего окна.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (zoomFactor: number) => void

    • zoomFactor

      число

      Текущий коэффициент масштабирования вкладки.

Возвраты

  • Promise<number>

    Chrome 88 и более поздних версий;

    Возвращает текущий коэффициент масштабирования вкладки после его получения.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

getZoomSettings()

Promise
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

Получает текущие настройки масштаба для указанной вкладки.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, для которой нужно получить текущие настройки масштаба. По умолчанию используется активная вкладка текущего окна.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      Текущие настройки масштаба вкладки.

Возвраты

  • Promise<ZoomSettings>

    Chrome 88 и более поздних версий;

    Возвращает текущие настройки масштаба вкладки.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

goBack()

Promise Chrome 72 и более поздние версии
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Вернуться на предыдущую страницу, если она доступна.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, на которой нужно вернуться назад. По умолчанию используется выбранная вкладка текущего окна.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

goForward()

Promise Chrome 72 и более поздние версии
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Перейти на следующую страницу, если она доступна.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, на которой нужно перейти вперед. По умолчанию используется выбранная вкладка текущего окна.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

group()

Promise Chrome 88 и более поздних версий
chrome.tabs.group(
  options: object,
  callback?: function,
)
: Promise<number>

Добавляет одну или несколько вкладок в указанную группу. Если группа не указана, добавляет вкладки в новую группу.

Параметры

  • Параметры

    Объект

    • createProperties

      Объект (необязательно)

      Конфигурации для создания группы. Нельзя использовать, если уже указан groupId.

      • windowId

        number (необязательно)

        Окно новой группы. По умолчанию используется текущее окно.

    • groupId

      number (необязательно)

      Идентификатор группы, в которую нужно добавить вкладки. Если не указать, будет создана новая группа.

    • tabIds

      number | [number, ...number[]]

      Идентификатор вкладки или список идентификаторов вкладок, которые нужно добавить в указанную группу.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (groupId: number) => void

    • groupId

      число

      Идентификатор группы, в которую были добавлены вкладки.

Возвраты

  • Promise<number>

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

highlight()

Promise
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: Promise<windows.Window>

Выделяет указанные вкладки и фокусируется на первой из них. Если указанная вкладка активна, ничего не произойдет.

Параметры

  • highlightInfo

    Объект

    • вкладки

      number | number[]

      Один или несколько индексов вкладок, которые нужно выделить.

    • windowId

      number (необязательно)

      Окно, в котором находятся вкладки.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (window: Window) => void

    • окно

      Содержит сведения об окне, вкладки которого были выделены.

Возвраты

  • Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

insertCSS()

Promise &leq; MV2 Поддержка прекращена в Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

В Manifest V3 заменено на scripting.insertCSS.

Добавление CSS на страницу Стили, вставленные этим методом, можно удалить с помощью scripting.removeCSS. Подробную информацию можно найти в разделе Программное внедрение документации по скриптам контента.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, в которую нужно вставить CSS. По умолчанию используется активная вкладка текущего окна.

  • подробные сведения

    Подробные сведения о тексте CSS, который нужно вставить. Необходимо указать либо код, либо свойство файла, но не оба одновременно.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Выполняется, когда вставлен весь код CSS.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

move()

Promise
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

Перемещает одну или несколько вкладок на новую позицию в окне или в новое окно. Обратите внимание, что вкладки можно перемещать только в обычные окна (window.type === "normal") и из них.

Параметры

  • tabIds

    number | number[]

    Идентификатор вкладки или список идентификаторов вкладок, которые нужно переместить.

  • moveProperties

    Объект

    • индекс

      число

      Позиция, в которую нужно переместить окно. Чтобы переместить вкладку в конец окна, используйте -1.

    • windowId

      number (необязательно)

      По умолчанию используется окно, в котором сейчас находится вкладка.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tabs: Tab | Tab[]) => void

    • вкладки

      Tab | Tab[]

      Подробная информация о перемещенных вкладках.

Возвраты

  • Promise<Tab | Tab[]>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: Promise<Tab[]>

Возвращает все вкладки с указанными свойствами или все вкладки, если свойства не указаны.

Параметры

  • queryInfo

    Объект

    • активно

      Логическое значение (необязательно)

      Активны ли вкладки в своих окнах.

    • Audible

      Логическое значение (необязательно)

      Chrome 45 и более поздних версий;

      Вкладки со звуком.

    • autoDiscardable

      Логическое значение (необязательно)

      Chrome 54 и более поздних версий;

      Определяет, может ли браузер автоматически закрывать вкладки при нехватке ресурсов.

    • currentWindow

      Логическое значение (необязательно)

      Находятся ли вкладки в текущем окне.

    • отклонили

      Логическое значение (необязательно)

      Chrome 54 и более поздних версий;

      Удаляются ли вкладки. Отклоненная вкладка – это вкладка, контент которой был выгружен из памяти, но которая по-прежнему видна на панели вкладок. Контент перезагружается при следующей активации.

    • завис

      Логическое значение (необязательно)

      Chrome 132 и более поздних версий.

      Заморожены ли вкладки. Замороженная вкладка не может выполнять задачи, в том числе обработчики событий и таймеры. Она видна на панели вкладок, а ее контент загружен в память. При активации она размораживается.

    • groupId

      number (необязательно)

      Chrome 88 и более поздних версий;

      Идентификатор группы, в которой находятся вкладки, или tabGroups.TAB_GROUP_ID_NONE для вкладок, не входящих в группу.

    • выделенное

      Логическое значение (необязательно)

      Выделены ли вкладки.

    • индекс

      number (необязательно)

      Позиции вкладок в окнах.

    • lastFocusedWindow

      Логическое значение (необязательно)

      Находятся ли вкладки в окне, которое последним было в фокусе.

    • Без звука

      Логическое значение (необязательно)

      Chrome 45 и более поздних версий;

      Отключен ли звук на вкладках.

    • в главном окн

      Логическое значение (необязательно)

      закреплены ли вкладки;

    • splitViewId

      number (необязательно)

      Chrome 140+

      Идентификатор режима Split View, в котором находятся вкладки, или tabs.SPLIT_VIEW_ID_NONE для вкладок, которые не находятся в режиме Split View.

    • статус

      TabStatus необязательный

      Статус загрузки вкладки.

    • название

      Строка (необязательно)

      Сопоставлять заголовки страниц с шаблоном. Это свойство игнорируется, если у расширения нет разрешения "tabs" или разрешений хоста для страницы.

    • url

      string | string[] optional

      Сопоставлять вкладки с одним или несколькими шаблонами URL. Идентификаторы фрагментов не сопоставляются. Это свойство игнорируется, если у расширения нет разрешения "tabs" или разрешений хоста для страницы.

    • windowId

      number (необязательно)

      Идентификатор родительского окна или windows.WINDOW_ID_CURRENT для текущего окна.

    • windowType

      WindowType необязательный

      Тип окна, в котором находятся вкладки.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (result: Tab[]) => void

    • Результат

      Tab[]

Возвраты

  • Promise<Tab[]>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

reload()

Promise
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

Обновить вкладку.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, которую нужно перезагрузить. По умолчанию используется выбранная вкладка текущего окна.

  • reloadProperties

    Объект (необязательно)

    • bypassCache

      Логическое значение (необязательно)

      Указывает, нужно ли обходить локальное кеширование. Значение по умолчанию – false.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

remove()

Promise
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

Закрывает одну или несколько вкладок.

Параметры

  • tabIds

    number | number[]

    Идентификатор вкладки или список идентификаторов вкладок, которые нужно закрыть.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

removeCSS()

Promise Chrome 87+ &leq; MV2 Поддержка прекращена в Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

В Manifest V3 заменено на scripting.removeCSS.

Удаляет со страницы CSS, который ранее был добавлен вызовом scripting.insertCSS.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, из которой нужно удалить CSS. По умолчанию используется активная вкладка текущего окна.

  • подробные сведения

    Подробные сведения о тексте CSS, который нужно удалить. Необходимо указать либо код, либо свойство файла, но не оба одновременно.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Выполняется, когда все CSS удалены.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

sendMessage()

Promise
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

Отправляет одно сообщение скриптам контента на указанной вкладке. Событие runtime.onMessage запускается в каждом скрипте контента, выполняющемся на указанной вкладке для текущего расширения.

Параметры

  • tabId

    число

  • Сообщение

    любой

    Отправляемое сообщение. Это сообщение должно быть объектом, который можно преобразовать в JSON.

  • Параметры

    Объект (необязательно)

    • documentId

      Строка (необязательно)

      Chrome 106 и более поздних версий.

      Отправляет сообщение определенному документу, идентифицированному по documentId, а не всем фреймам на вкладке.

    • frameId

      number (необязательно)

      Отправляет сообщение определенному фрейму, идентифицированному по frameId, а не всем фреймам на вкладке.

  • обратный вызов

    function необязательно

    Chrome 99 и более поздних версий.

    Параметр callback выглядит следующим образом:

    (response: any) => void

    • Ответ

      любой

      Объект ответа JSON, отправленный обработчиком сообщения.

Возвраты

  • Promise<any>

    Chrome 99 и более поздних версий.

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

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

sendRequest()

Promise &leq; MV2 Поддержка прекращена
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)
: Promise<any>

Используйте runtime.sendMessage.

Отправляет один запрос скриптам контента на указанной вкладке с необязательным обратным вызовом, который запускается при отправке ответа. Событие extension.onRequest запускается в каждом скрипте контента, выполняющемся на указанной вкладке для текущего расширения.

Параметры

  • tabId

    число

  • запрос

    любой

  • обратный вызов

    function необязательно

    Chrome 99 и более поздних версий.

    Параметр callback выглядит следующим образом:

    (response: any) => void

    • Ответ

      любой

      Объект ответа JSON, отправленный обработчиком запроса. Если при подключении к указанной вкладке произойдет ошибка, обещание будет отклонено.

Возвраты

  • Promise<any>

    Chrome 99 и более поздних версий.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setZoom()

Promise
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

Изменяет масштаб указанной вкладки.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, масштаб которой нужно изменить. По умолчанию используется активная вкладка текущего окна.

  • zoomFactor

    число

    Новый коэффициент масштабирования. Значение 0 устанавливает для вкладки текущий коэффициент масштабирования по умолчанию. Значения больше 0 задают коэффициент масштабирования для вкладки (возможно, не по умолчанию).

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Разрешается после изменения коэффициента масштабирования.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

setZoomSettings()

Promise
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

Задает настройки масштабирования для указанной вкладки, которые определяют, как обрабатываются изменения масштаба. При переходе на вкладку эти настройки сбрасываются до значений по умолчанию.

Параметры

  • tabId

    number (необязательно)

    Идентификатор вкладки, для которой нужно изменить настройки масштабирования. По умолчанию используется активная вкладка текущего окна.

  • zoomSettings

    Определяет, как обрабатываются изменения масштаба и в каком объеме.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Chrome 88 и более поздних версий;

    Выполняется после изменения настроек масштабирования.

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

ungroup()

Promise Chrome 88 и более поздних версий
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)
: Promise<void>

Удаляет одну или несколько вкладок из соответствующих групп. Если в группе не останется участников, она будет удалена.

Параметры

  • tabIds

    number | [number, ...number[]]

    Идентификатор вкладки или список идентификаторов вкладок, которые нужно удалить из соответствующих групп.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

unsplit()

Promise Chrome 155+
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

Разделяет вкладки в режиме Split View на независимые вкладки.

Параметры

  • splitViewId

    число

    Идентификатор режима Split View, который нужно отключить.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    () => void

Возвраты

  • Promise<void>

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

Изменяет свойства вкладки. Свойства, не указанные в updateProperties, не изменяются.

Параметры

  • tabId

    number (необязательно)

    По умолчанию используется выбранная вкладка текущего окна.

  • updateProperties

    Объект

    • активно

      Логическое значение (необязательно)

      Должна ли вкладка быть активной. Не влияет на то, находится ли окно в фокусе (см. windows.update).

    • autoDiscardable

      Логическое значение (необязательно)

      Chrome 54 и более поздних версий;

      Определяет, должен ли браузер автоматически закрывать вкладку при нехватке ресурсов.

    • выделенное

      Логическое значение (необязательно)

      Добавляет вкладку в текущую выборку или удаляет ее оттуда.

    • Без звука

      Логическое значение (необязательно)

      Chrome 45 и более поздних версий;

      Указывает, нужно ли отключить звук на вкладке.

    • openerTabId

      number (необязательно)

      Идентификатор вкладки, которая открыла эту вкладку. Если указано, вкладка, открывшая эту, должна находиться в том же окне.

    • в главном окн

      Логическое значение (необязательно)

      Нужно ли закрепить вкладку.

    • выбрано

      Логическое значение (необязательно)

      Поддержка прекращена

      Используйте выделенный.

      Должна ли быть выбрана вкладка.

    • url

      Строка (необязательно)

      URL, на который нужно перейти. URL JavaScript не поддерживаются. Вместо них используйте scripting.executeScript.

  • обратный вызов

    function необязательно

    Параметр callback выглядит следующим образом:

    (tab?: Tab) => void

    • табуляция

      Tab необязательный

      Подробная информация об обновленной вкладке. Свойства url, pendingUrl, title и favIconUrl включаются в объект tabs.Tab, только если у расширения есть разрешение "tabs" или разрешения хоста для страницы.

Возвраты

  • Promise<Tab | undefined>

    Chrome 88 и более поздних версий;

    Объекты Promise поддерживаются только в Manifest V3 и более поздних версиях. На других платформах нужно использовать обратные вызовы.

События

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

Срабатывает, когда активная вкладка в окне меняется. Обратите внимание, что URL вкладки может быть не задан в момент запуска этого события, но вы можете прослушивать события onUpdated, чтобы получать уведомления, когда URL задан.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (activeInfo: object) => void

    • activeInfo

      Объект

      • tabId

        число

        Идентификатор вкладки, которая стала активной.

      • windowId

        число

        Идентификатор окна, в котором изменилась активная вкладка.

onActiveChanged

&leq; MV2 Поддержка прекращена
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

Используйте tabs.onActivated.

Срабатывает, когда меняется выбранная вкладка в окне. Обратите внимание, что URL вкладки может быть не задан в момент активации этого события, но вы можете прослушивать события tabs.onUpdated, чтобы получать уведомления, когда URL задан.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, selectInfo: object) => void

    • tabId

      число

    • selectInfo

      Объект

      • windowId

        число

        Идентификатор окна, в котором изменилась выбранная вкладка.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

Срабатывает, когда вкладка прикрепляется к окну, например при перемещении между окнами.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, attachInfo: object) => void

    • tabId

      число

    • attachInfo

      Объект

      • newPosition

        число

      • newWindowId

        число

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

Срабатывает при создании вкладки. Обратите внимание, что URL вкладки и ее принадлежность к группе вкладок могут быть не заданы в момент запуска этого события. Однако вы можете прослушивать события onUpdated, чтобы получать уведомления, когда URL задан или вкладка добавлена в группу вкладок.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tab: Tab) => void

    • табуляция

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

Срабатывает, когда вкладка открепляется от окна, например при перемещении между окнами.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, detachInfo: object) => void

    • tabId

      число

    • detachInfo

      Объект

      • oldPosition

        число

      • oldWindowId

        число

onHighlightChanged

&leq; MV2 Поддержка прекращена
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

Используйте tabs.onHighlighted.

Срабатывает, когда меняются выделенные или выбранные вкладки в окне.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (selectInfo: object) => void

    • selectInfo

      Объект

      • tabIds

        number[]

        Все выделенные вкладки в окне.

      • windowId

        число

        Окно, в котором изменились вкладки.

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

Срабатывает, когда меняются выделенные или выбранные вкладки в окне.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (highlightInfo: object) => void

    • highlightInfo

      Объект

      • tabIds

        number[]

        Все выделенные вкладки в окне.

      • windowId

        число

        Окно, в котором изменились вкладки.

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

Срабатывает, когда вкладка перемещается в пределах окна. Срабатывает только одно событие перемещения, представляющее вкладку, которую пользователь переместил напрямую. События перемещения не запускаются для других вкладок, которые должны перемещаться в ответ на перемещение вкладки вручную. Это событие не происходит, когда вкладка перемещается между окнами. Подробную информацию можно найти в описании tabs.onDetached.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, moveInfo: object) => void

    • tabId

      число

    • moveInfo

      Объект

      • fromIndex

        число

      • toIndex

        число

      • windowId

        число

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

Срабатывает, когда вкладка закрывается.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, removeInfo: object) => void

    • tabId

      число

    • removeInfo

      Объект

      • isWindowClosing

        Логическое значение

        True, если вкладка была закрыта, потому что было закрыто ее родительское окно.

      • windowId

        число

        Окно, вкладка которого закрыта.

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

Срабатывает, когда вкладка заменяется другой вкладкой в результате предварительной отрисовки или мгновенного перехода.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      число

    • removedTabId

      число

onSelectionChanged

&leq; MV2 Поддержка прекращена
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

Используйте tabs.onActivated.

Срабатывает, когда выбранная вкладка в окне меняется.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, selectInfo: object) => void

    • tabId

      число

    • selectInfo

      Объект

      • windowId

        число

        Идентификатор окна, в котором изменилась выбранная вкладка.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

Срабатывает при обновлении вкладки.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      число

    • changeInfo

      Объект

      • Audible

        Логическое значение (необязательно)

        Chrome 45 и более поздних версий;

        Новое состояние звука на вкладке.

      • autoDiscardable

        Логическое значение (необязательно)

        Chrome 54 и более поздних версий;

        Новое состояние автоматического закрытия вкладки.

      • отклонили

        Логическое значение (необязательно)

        Chrome 54 и более поздних версий;

        Новое состояние вкладки.

      • favIconUrl

        Строка (необязательно)

        Новый URL значка вкладки.

      • завис

        Логическое значение (необязательно)

        Chrome 132 и более поздних версий.

        Новое состояние заморозки вкладки.

      • groupId

        number (необязательно)

        Chrome 88 и более поздних версий;

        Новая группа вкладок.

      • mutedInfo

        MutedInfo необязательный

        Chrome 46 и более поздних версий;

        Новое состояние вкладки (звук включен или отключен) и причина изменения.

      • в главном окн

        Логическое значение (необязательно)

        Новое состояние закрепления вкладки.

      • splitViewId

        number (необязательно)

        Chrome 140+

        Вкладка откроется в режиме параллельного просмотра.

      • статус

        TabStatus необязательный

        Статус загрузки вкладки.

      • название

        Строка (необязательно)

        Chrome 48 и более поздних версий;

        Новое название вкладки.

      • url

        Строка (необязательно)

        URL вкладки, если он изменился.

    • табуляция

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

Срабатывает при изменении масштаба вкладки.

Параметры

  • обратный вызов

    function

    Параметр callback выглядит следующим образом:

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      Объект

      • newZoomFactor

        число

      • oldZoomFactor

        число

      • tabId

        число

      • zoomSettings