chrome.tabs

Описание

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

Обзор

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

Разрешения

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

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

Разрешение "вкладки"
Это разрешение не предоставляет доступ к пространству имен 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

    строка необязательный

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

  • приглушенный

    логический

    Отключен ли звук на вкладке (запрещено ли воспроизведение звука). Вкладка может быть отключена, даже если она не воспроизводила или в данный момент не воспроизводит звук. Аналогично тому, отображается ли индикатор «отключен звук».

  • причина

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

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

MutedInfoReason

Chrome 46+

Событие, вызвавшее незначительное изменение состояния.

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

"пользователь"
Действие, выполняемое пользователем, устанавливает состояние отключения звука.

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

"расширение"
Расширение, идентифицируемое по полю extensionId, устанавливает состояние "заглушено".

Tab

Характеристики

  • активный

    логический

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

  • слышимый

    логический необязательный

    Chrome 45+

    Указывает, издавала ли вкладка звук в течение последних нескольких секунд (но он может быть не слышен, если звук также отключен). Аналогично тому, отображается ли индикатор «звук из динамиков».

  • автоматически удаляемый

    логический

    Chrome 54+

    Можно ли автоматически закрыть вкладку браузером при нехватке ресурсов?

  • выброшенный

    логический

    Chrome 54+

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

  • favIconUrl

    строка необязательный

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

  • замороженный

    логический

    Chrome 132+

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

  • groupId

    число

    Chrome 88+

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

  • высота

    число необязательно

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

  • выделенный

    логический

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

  • идентификатор

    число необязательно

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

  • инкогнито

    логический

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

  • индекс

    число

    Индекс вкладки в пределах её окна, начинающийся с нуля.

  • последний доступ

    число

    Chrome 121+

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

  • mutedInfo

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

    Chrome 46+

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

  • openerTabId

    число необязательно

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

  • ожидающийUrl

    строка необязательный

    Chrome 79+

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

  • закреплено

    логический

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

  • выбранный

    логический

    Устаревший

    Пожалуйста, используйте tabs.Tab.highlighted .

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

  • sessionId

    строка необязательный

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

  • splitViewId

    число необязательно

    В ожидании

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

  • статус

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

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

  • заголовок

    строка необязательный

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

  • url

    строка необязательный

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

  • ширина

    число необязательно

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

  • windowId

    число

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

TabStatus

Chrome 44+

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

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

"разгружено"

"загрузка"

"полный"

WindowType

Chrome 44+

Тип окна.

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

"нормальный"

"неожиданно возникнуть"

"панель"

"приложение"

"инструменты разработчика"

ZoomSettings

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

Характеристики

  • defaultZoomFactor

    число необязательно

    Chrome 43+

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

  • режим

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

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

  • объем

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

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

ZoomSettingsMode

Chrome 44+

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

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

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

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

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

ZoomSettingsScope

Chrome 44+

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

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

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

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

Характеристики

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

Chrome 92+

Максимальное количество вызовов функции captureVisibleTab в секунду. captureVisibleTab является ресурсоемкой и не должна вызываться слишком часто.

Ценить

2

SPLIT_VIEW_ID_NONE

В ожидании

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

Ценить

-1

TAB_ID_NONE

Chrome 46+

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

Ценить

-1

TAB_INDEX_NONE

Chrome 123+

Индекс, указывающий на отсутствие индекса вкладки в элементе tab_strip.

Ценить

-1

Методы

captureVisibleTab()

Обещать
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

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

Параметры

  • windowId

    число необязательно

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

  • параметры

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

  • перезвонить

    функция необязательна

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

    (dataUrl: string) => void

    • dataUrl

      нить

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

Возвраты

  • Promise<string>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

connect()

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

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

Параметры

  • tabId

    число

  • connectInfo

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

    • documentId

      строка необязательный

      Chrome 106+

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

    • frameId

      число необязательно

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

    • имя

      строка необязательный

      Этот параметр передается в функцию onConnect для скриптов контента, которые отслеживают событие подключения.

Возвраты

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

create()

Обещать
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

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

Параметры

  • создатьСвойства

    объект

    • активный

      логический необязательный

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

    • индекс

      число необязательно

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

    • openerTabId

      число необязательно

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

    • закреплено

      логический необязательный

      Следует ли закрепить вкладку. По умолчанию — false

    • выбранный

      логический необязательный

      Устаревший

      Пожалуйста, используйте active .

      Определяет, должна ли данная вкладка стать выбранной в окне. По умолчанию — true

    • url

      строка необязательный

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

    • windowId

      число необязательно

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

  • перезвонить

    функция необязательна

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

    (tab: Tab) => void

Возвраты

  • Обещание< Вкладка >

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

detectLanguage()

Обещать
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

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

Параметры

  • tabId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    (language: string) => void

    • язык

      нить

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

Возвраты

  • Promise<string>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

discard()

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

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

Параметры

  • tabId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    (tab?: Tab) => void

    • вкладка

      Вкладка ( необязательно)

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

Возвраты

  • Promise< Tab | undefined>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

duplicate()

Обещать
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

Дублирует вкладку.

Параметры

  • tabId

    число

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

  • перезвонить

    функция необязательна

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

    (tab?: Tab) => void

    • вкладка

      Вкладка ( необязательно)

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

Возвраты

  • Promise< Tab | undefined>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

executeScript()

Promise ≤ MV2 Устарело с Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

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

Внедряет JavaScript-код на страницу. Подробности см. в разделе «Программное внедрение » документации по скриптам контента.

Параметры

  • tabId

    число необязательно

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

  • подробности

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

  • перезвонить

    функция необязательна

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

    (result?: any[]) => void

    • результат

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

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

Возвраты

  • Promise<any[] | undefined>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

get()

Обещать
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

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

Параметры

  • tabId

    число

  • перезвонить

    функция необязательна

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

    (tab: Tab) => void

Возвраты

  • Обещание< Вкладка >

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getAllInWindow()

Promise ≤ MV2 Deprecated
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

Пожалуйста, используйте tabs.query {windowId: windowId} .

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

Параметры

  • windowId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    (tabs: Tab[]) => void

Возвраты

  • Обещание< Вкладка []>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getCurrent()

Обещать
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

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

Параметры

  • перезвонить

    функция необязательна

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

    (tab?: Tab) => void

Возвраты

  • Promise< Tab | undefined>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getSelected()

Promise ≤ MV2 Deprecated
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)
: Promise<Tab>

Пожалуйста, используйте tabs.query {active: true} .

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

Параметры

  • windowId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    (tab: Tab) => void

Возвраты

  • Обещание< Вкладка >

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getZoom()

Обещать
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

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

Параметры

  • tabId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    (zoomFactor: number) => void

    • zoomFactor

      число

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

Возвраты

  • Обещание<число>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

getZoomSettings()

Обещать
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

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

Параметры

  • tabId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    (zoomSettings: ZoomSettings) => void

Возвраты

  • Promise< ZoomSettings >

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

goBack()

Promise Chrome 72+
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)
: Promise<void>

Если доступна предыдущая страница, вернитесь на неё.

Параметры

  • tabId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

goForward()

Promise Chrome 72+
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)
: Promise<void>

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

Параметры

  • tabId

    число необязательно

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

group()

Promise Chrome 88+
chrome.tabs.group(
  options: object,
  callback?: function,
)
: Promise<number>

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

Параметры

  • параметры

    объект

    • создатьСвойства

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

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

      • windowId

        число необязательно

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

    • groupId

      число необязательно

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

    • tabIds

      число | [число, ...число[]]

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

  • перезвонить

    функция необязательна

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

    (groupId: number) => void

    • groupId

      число

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

Возвраты

  • Обещание<число>

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

highlight()

Обещать
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: Promise<windows.Window>

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

Параметры

  • highlightInfo

    объект

    • вкладки

      число | число[]

      Для выделения одного или нескольких индексов вкладок.

    • windowId

      число необязательно

      Окно, содержащее вкладки.

  • перезвонить

    функция необязательна

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

    (window: Window) => void

    • окно

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

Возвраты

  • Promise< windows.Window >

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

insertCSS()

Promise ≤ MV2 Устарело с Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

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

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

Параметры

  • tabId

    число необязательно

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

  • подробности

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

move()

Обещать
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

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

Параметры

  • tabIds

    число | число[]

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

  • moveProperties

    объект

    • индекс

      число

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

    • windowId

      число необязательно

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

  • перезвонить

    функция необязательна

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

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

Возвраты

  • Обещание< Вкладка | Вкладка []>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

query()

Обещать
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: Promise<Tab[]>

Получает все вкладки, имеющие указанные свойства, или все вкладки, если свойства не указаны.

Параметры

  • queryInfo

    объект

    • активный

      логический необязательный

      Активны ли вкладки в соответствующих окнах.

    • слышимый

      логический необязательный

      Chrome 45+

      Слышны ли звуки от клавиш.

    • автоматически удаляемый

      логический необязательный

      Chrome 54+

      Можно ли автоматически закрывать вкладки браузером при нехватке ресурсов?

    • текущее окно

      логический необязательный

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

    • выброшенный

      логический необязательный

      Chrome 54+

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

    • замороженный

      логический необязательный

      Chrome 132+

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

    • groupId

      число необязательно

      Chrome 88+

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

    • выделенный

      логический необязательный

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

    • индекс

      число необязательно

      Положение вкладок внутри их окон.

    • lastFocusedWindow

      логический необязательный

      Указывается, находятся ли вкладки в последнем активном окне.

    • приглушенный

      логический необязательный

      Chrome 45+

      Вкладки отключены.

    • закреплено

      логический необязательный

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

    • splitViewId

      число необязательно

      Chrome 140+

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

    • статус

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

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

    • заголовок

      строка необязательный

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

    • url

      строка | строка[] необязательно

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

    • windowId

      число необязательно

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

    • windowType

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

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

  • перезвонить

    функция необязательна

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

    (result: Tab[]) => void

Возвраты

  • Обещание< Вкладка []>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

reload()

Обещать
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

Перезагрузите вкладку.

Параметры

  • tabId

    число необязательно

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

  • reloadProperties

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

    • обходКэш

      логический необязательный

      Следует ли обходить локальное кэширование. По умолчанию — false .

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

remove()

Обещать
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

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

Параметры

  • tabIds

    число | число[]

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

removeCSS()

Promise Chrome 87+ ≤ MV2 Устарело с Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

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

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

Параметры

  • tabId

    число необязательно

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

  • подробности

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

sendMessage()

Обещать
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

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

Параметры

  • tabId

    число

  • сообщение

    любой

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

  • параметры

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

    • documentId

      строка необязательный

      Chrome 106+

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

    • frameId

      число необязательно

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

  • перезвонить

    функция необязательна

    Chrome 99+

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

    (response: any) => void

    • ответ

      любой

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

Возвраты

  • Обещание<любое>

    Chrome 99+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

sendRequest()

Promise ≤ MV2 Deprecated
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)
: Promise<any>

Пожалуйста, используйте runtime.sendMessage .

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

Параметры

  • tabId

    число

  • запрос

    любой

  • перезвонить

    функция необязательна

    Chrome 99+

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

    (response: any) => void

    • ответ

      любой

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

Возвраты

  • Обещание<любое>

    Chrome 99+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setZoom()

Обещать
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

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

Параметры

  • tabId

    число необязательно

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

  • zoomFactor

    число

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

setZoomSettings()

Обещать
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

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

Параметры

  • tabId

    число необязательно

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

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

ungroup()

Promise Chrome 88+
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)
: Promise<void>

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

Параметры

  • tabIds

    число | [число, ...число[]]

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

  • перезвонить

    функция необязательна

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

    () => void

Возвраты

  • Обещание<пустота>

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

update()

Обещать
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

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

Параметры

  • tabId

    число необязательно

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

  • обновитьСвойства

    объект

    • активный

      логический необязательный

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

    • автоматически удаляемый

      логический необязательный

      Chrome 54+

      Следует ли браузеру автоматически закрывать вкладку при нехватке ресурсов?

    • выделенный

      логический необязательный

      Добавляет или удаляет вкладку из текущего выделения.

    • приглушенный

      логический необязательный

      Chrome 45+

      Следует ли отключить звук вкладки.

    • openerTabId

      число необязательно

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

    • закреплено

      логический необязательный

      Следует ли закрепить вкладку.

    • выбранный

      логический необязательный

      Устаревший

      Пожалуйста, используйте выделенный текст .

      Следует ли выбрать вкладку.

    • url

      строка необязательный

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

  • перезвонить

    функция необязательна

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

    (tab?: Tab) => void

    • вкладка

      Вкладка ( необязательно)

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

Возвраты

  • Promise< Tab | undefined>

    Chrome 88+

    Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.

События

onActivated

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

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

Параметры

  • перезвонить

    функция

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

    (activeInfo: object) => void

    • activeInfo

      объект

      • tabId

        число

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

      • windowId

        число

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

onActiveChanged

≤ MV2 Устарело
chrome.tabs.onActiveChanged.addListener(
  callback: function,
)

Пожалуйста, используйте tabs.onActivated .

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • selectInfo

      объект

      • windowId

        число

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

onAttached

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

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • attachInfo

      объект

      • новая позиция

        число

      • newWindowId

        число

onCreated

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

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

Параметры

  • перезвонить

    функция

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

    (tab: Tab) => void

onDetached

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

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • отсоединитьИнформ

      объект

      • старая позиция

        число

      • oldWindowId

        число

onHighlightChanged

≤ MV2 Устарело
chrome.tabs.onHighlightChanged.addListener(
  callback: function,
)

Пожалуйста, используйте tabs.onHighlighted .

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

Параметры

  • перезвонить

    функция

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

    (selectInfo: object) => void

    • selectInfo

      объект

      • tabIds

        число[]

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

      • windowId

        число

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

onHighlighted

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

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

Параметры

  • перезвонить

    функция

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

    (highlightInfo: object) => void

    • highlightInfo

      объект

      • tabIds

        число[]

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

      • windowId

        число

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

onMoved

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

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • moveInfo

      объект

      • из индекса

        число

      • toIndex

        число

      • windowId

        число

onRemoved

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

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • удалитьИнформацию

      объект

      • isWindowClosing

        логический

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

      • windowId

        число

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

onReplaced

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

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

Параметры

  • перезвонить

    функция

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

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

    • добавленная вкладкаId

      число

    • удаленная вкладка

      число

onSelectionChanged

≤ MV2 Устарело
chrome.tabs.onSelectionChanged.addListener(
  callback: function,
)

Пожалуйста, используйте tabs.onActivated .

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • selectInfo

      объект

      • windowId

        число

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

onUpdated

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

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

Параметры

  • перезвонить

    функция

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

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

    • tabId

      число

    • changeInfo

      объект

      • слышимый

        логический необязательный

        Chrome 45+

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

      • автоматически удаляемый

        логический необязательный

        Chrome 54+

        Вкладка теперь автоматически удаляется.

      • выброшенный

        логический необязательный

        Chrome 54+

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

      • favIconUrl

        строка необязательный

        Новый URL-адрес значка вкладки.

      • замороженный

        логический необязательный

        Chrome 132+

        Вкладка находится в зависшем состоянии.

      • groupId

        число необязательно

        Chrome 88+

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

      • mutedInfo

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

        Chrome 46+

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

      • закреплено

        логический необязательный

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

      • splitViewId

        число необязательно

        Chrome 140+

        Вкладка «Разделенный экран» теперь работает в новом режиме.

      • статус

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

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

      • заголовок

        строка необязательный

        Chrome 48+

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

      • url

        строка необязательный

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

    • вкладка

onZoomChange

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

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

Параметры

  • перезвонить

    функция

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

    (ZoomChangeInfo: object) => void