Описание
 Используйте API chrome.tabs для взаимодействия с системой вкладок браузера. С помощью этого API можно создавать, изменять и переупорядочивать вкладки в браузере.
API вкладок не только предлагает функции для управления вкладками и их работы, но также может определять язык вкладки, делать снимки экрана и взаимодействовать со скриптами содержимого вкладки.
Разрешения
Для использования большинства функций не требуется никаких разрешений. Например, создание новой вкладки, перезагрузка вкладки, переход по другому URL-адресу и т. д.
При работе с API вкладок разработчикам следует учитывать три разрешения.
- Разрешение «вкладки»
- Это разрешение не предоставляет доступ к пространству имён - chrome.tabs. Вместо этого оно предоставляет расширению возможность вызывать- tabs.query()для четырёх конфиденциальных свойств экземпляров- tabs.Tab:- url,- pendingUrl,- titleи- favIconUrl.- { "name": "My extension", ... "permissions": [ "tabs" ], ... }
- Разрешения хоста
- Разрешения хоста позволяют расширению читать и запрашивать четыре конфиденциальных свойства - tabs.Tabсоответствующей вкладки. Расширение также может напрямую взаимодействовать с соответствующими вкладками, используя такие методы, как- tabs.captureVisibleTab(),- scripting.executeScript(),- scripting.insertCSS()и- scripting.removeCSS().- { "name": "My extension", ... "host_permissions": [ "http://*/*", "https://*/*" ], ... }
- Разрешение «activeTab»
- activeTabпредоставляет расширению временное разрешение хоста для текущей вкладки в ответ на вызов пользователя. В отличие от разрешений хоста,- activeTabне выдаёт никаких предупреждений.- { "name": "My extension", ... "permissions": [ "activeTab" ], ... }
Варианты использования
В следующих разделах показаны некоторые распространенные варианты использования.
Открыть страницу расширения в новой вкладке
Распространенный шаблон для расширений — открытие страницы знакомства в новой вкладке после установки расширения. Следующий пример показывает, как это сделать.
фон.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.
}
Примеры расширений
Для дополнительных демонстраций расширений API вкладок ознакомьтесь с любым из следующих источников:
Типы
MutedInfo
Состояние отключения звука вкладки и причина последнего изменения состояния.
Характеристики
- extensionIdстрока необязательная Идентификатор расширения, изменившего состояние отключения звука. Не устанавливается, если расширение не было причиной последнего изменения состояния отключения звука. 
- приглушенныйбулев Отключен ли звук на вкладке (запрещено ли воспроизведение звука). Вкладка может быть отключена, даже если звук не воспроизводится или не воспроизводится в данный момент. Аналогично отображению индикатора «Звук отключен». 
- причинаMutedInfoReason необязательно Причина отключения или включения звука на вкладке. Не устанавливается, если состояние отключения звука на вкладке никогда не менялось. 
MutedInfoReason
Событие, вызвавшее изменение состояния звука.
Перечисление
 "пользователь"  "захватывать"  "расширение"
 Действие пользовательского ввода устанавливает отключенное состояние. 
 Был запущен захват вкладки, что привело к принудительному изменению состояния звука. 
 Расширение, идентифицированное полем extensionId, устанавливает отключенное состояние.
Tab
Характеристики
- активныйбулев Активна ли вкладка в своём окне. Это не обязательно означает, что окно находится в фокусе. 
- слышимыйлогическое необязательное Хром 45+Издавал ли вкладка звук за последние несколько секунд (но он может быть не слышен, если звук отключен). Аналогично тому, отображается ли индикатор «Аудио динамика». 
- autoDiscardableбулев Хром 54+Может ли браузер автоматически закрывать вкладку при недостатке ресурсов. 
- выброшенбулев Хром 54+Удалённая вкладка. Удалённая вкладка — это вкладка, содержимое которой было выгружено из памяти, но всё ещё отображается на панели вкладок. Её содержимое будет загружено заново при следующей активации. 
- favIconUrlстрока необязательная URL-адрес значка вкладки. Это свойство присутствует только в том случае, если у расширения есть разрешение "tabs"или разрешение на размещение страницы на хосте. Также может быть пустой строкой, если вкладка загружается.
- замороженныйбулев Хром 132+Заморожена ли вкладка. Замороженная вкладка не может выполнять задачи, включая обработчики событий и таймеры. Она отображается на панели вкладок, а её содержимое загружается в память. Она размораживается при активации. 
- groupIdчисло Хром 88+Идентификатор группы, к которой принадлежит вкладка. 
- высотаномер необязательно Высота вкладки в пикселях. 
- выделенобулев Выделена ли вкладка. 
- идентификаторномер необязательно Идентификатор вкладки. Идентификаторы вкладок уникальны в рамках сеанса браузера. В некоторых случаях вкладке может быть не назначен идентификатор, например, при запросе внешних вкладок с помощью API sessions, в этом случае идентификатор сеанса может присутствовать. Для приложений и окон инструментов разработчика идентификатор вкладки также можно задать какchrome.tabs.TAB_ID_NONE.
- инкогнитобулев Находится ли вкладка в окне в режиме инкогнито. 
- индексчисло Отсчитываемый от нуля индекс вкладки в ее окне. 
- последний доступчисло Хром 121+Время последнего момента, когда вкладка стала активной в своем окне, отображается как количество миллисекунд с начала эпохи. 
- mutedInfoMutedInfo (необязательно) Хром 46+Состояние отключения звука вкладки и причина последнего изменения состояния. 
- openerTabIdномер необязательно Идентификатор вкладки, открывшей данную вкладку, если таковая имеется. Это свойство присутствует только в том случае, если открывающая вкладка всё ещё существует. 
- pendingUrlстрока необязательная Хром 79+URL-адрес, на который ведет вкладка, до её фиксации. Это свойство присутствует только в том случае, если у расширения есть разрешение "tabs"или разрешение хоста для страницы и есть ожидающая навигация.
- закрепленныйбулев Закреплена ли вкладка. 
- выбранныйбулев УстаревшийПожалуйста, используйте tabs.Tab.highlighted.Выбрана ли вкладка. 
- sessionIdстрока необязательная Идентификатор сеанса, используемый для уникальной идентификации вкладки, полученной из API sessions.
- статусTabStatus необязательно Статус загрузки вкладки. 
- заголовокстрока необязательная Заголовок вкладки. Это свойство присутствует только в том случае, если у расширения есть разрешение "tabs"или разрешение на размещение страницы.
- URL-адресстрока необязательная Последний зафиксированный URL основного фрейма вкладки. Это свойство присутствует только в том случае, если у расширения есть разрешение "tabs"или разрешение хоста для страницы. Может быть пустой строкой, если вкладка ещё не зафиксирована. См. такжеTab.pendingUrl.
- ширинаномер необязательно Ширина вкладки в пикселях. 
- windowIdчисло Идентификатор окна, содержащего вкладку. 
TabStatus
Статус загрузки вкладки.
Перечисление
 "разгруженный"   "загрузка"   "полный" 
WindowType
Тип окна.
Перечисление
 "нормальный"   "неожиданно возникнуть"   "панель"   "приложение"   "devtools" 
ZoomSettings
Определяет, как и в каком диапазоне обрабатываются изменения масштаба на вкладке.
Характеристики
- defaultZoomFactorномер необязательно Хром 43+Используется для возврата уровня масштабирования по умолчанию для текущей вкладки при вызовах tabs.getZoomSettings. 
- режимZoomSettingsMode (необязательно) Определяет, как обрабатываются изменения масштаба, т. е. какая сущность отвечает за фактическое масштабирование страницы; по умолчанию — automatic.
- объемZoomSettingsScope (опционально) Определяет, сохраняются ли изменения масштаба для исходного положения страницы или вступают в силу только для этой вкладки; по умолчанию применяется к per-originвautomaticрежиме иper-tabв противном случае.
ZoomSettingsMode
 Определяет, как обрабатываются изменения масштаба, т. е. какая сущность отвечает за фактическое масштабирование страницы; по умолчанию — automatic . 
Перечисление
 "автоматический"  "руководство"  "неполноценный"
 Изменения масштаба обрабатываются браузером автоматически. 
 Переопределяет автоматическую обработку изменения масштаба. Событие onZoomChange по-прежнему будет отправляться, и расширение обязано отслеживать это событие и вручную масштабировать страницу. Этот режим не поддерживает масштабирование per-origin , поэтому игнорирует настройку масштабирования scope и предполагает масштабирование per-tab . 
 Отключает масштабирование на вкладке. Вкладка возвращается к уровню масштабирования по умолчанию, и все попытки изменить масштаб игнорируются.
ZoomSettingsScope
 Определяет, сохраняются ли изменения масштаба для исходного положения страницы или вступают в силу только для этой вкладки; по умолчанию применяется к per-origin в automatic режиме и per-tab в противном случае. 
Перечисление
 "по происхождению"  "на вкладку"
 Изменения масштаба сохраняются в исходной точке увеличенной страницы, то есть все остальные вкладки, переключенные в ту же исходную точку, также масштабируются. Более того, изменения масштаба per-origin сохраняются вместе с исходной точкой, что означает, что при переходе на другие страницы в той же исходной точке все они будут масштабированы с одинаковым коэффициентом масштабирования. Масштабирование per-origin доступно только в automatic режиме. 
 Изменения масштаба применяются только к этой вкладке, а изменения масштаба на других вкладках не влияют на масштаб этой вкладки. Кроме того, изменения масштаба per-tab сбрасываются при навигации; при навигации по вкладке страницы всегда загружаются с коэффициентами масштабирования per-origin .
Характеристики
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
 Максимальное количество вызовов captureVisibleTab в секунду. captureVisibleTab — ресурсоемкая функция, и ее не следует вызывать слишком часто. 
Ценить
 2 
TAB_ID_NONE
Идентификатор, обозначающий отсутствие вкладки браузера.
Ценить
 -1 
TAB_INDEX_NONE
Индекс, представляющий отсутствие индекса табуляции в tab_strip.
Ценить
 -1 
Методы
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
): Promise<string>
Захватывает видимую область активной вкладки в указанном окне. Для вызова этого метода расширение должно иметь разрешение <all_urls> или разрешение activeTab . Помимо сайтов, к которым расширения обычно имеют доступ, этот метод позволяет расширениям захватывать конфиденциальные сайты, доступ к которым в противном случае ограничен, включая страницы chrome:-scheme, страницы других расширений и URL-адреса data:. Захват этих конфиденциальных сайтов возможен только при наличии разрешения activeTab. URL-адреса файлов могут быть захвачены только в том случае, если расширению предоставлен доступ к файлам.
Параметры
- windowIdномер необязательно Целевое окно. По умолчанию — текущее окно . 
- параметрыImageDetails (необязательно) 
Возврат
- Обещание<строка> Хром 88+
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
 Подключается к скрипту(ам) контента на указанной вкладке. Событие runtime.onConnect вызывается в каждом скрипте контента, запущенном на указанной вкладке для текущего расширения. Подробнее см. в разделе «Сообщения скрипта контента» . 
Параметры
- tabIdчисло 
- connectInfoобъект необязательный - documentIdстрока необязательная Хром 106+Откройте порт для конкретного документа , идентифицированного по documentId, а не для всех фреймов на вкладке.
- frameIdномер необязательно Откройте порт для конкретного фрейма , идентифицированного по frameId, а не для всех фреймов на вкладке.
- имястрока необязательная Передается в onConnect для скриптов содержимого, которые прослушивают событие подключения. 
 
Возврат
- Порт, который можно использовать для связи со скриптами содержимого, работающими на указанной вкладке. Событие - runtime.Portпорта срабатывает, если вкладка закрывается или отсутствует.
Параметры
- createPropertiesобъект - активныйлогическое необязательное Должна ли вкладка стать активной вкладкой в окне. Не влияет на то, находится ли окно в фокусе (см. windows.update). Значение по умолчанию —true.
- индексномер необязательно Положение вкладки в окне. Значение ограничено нулем и количеством вкладок в окне. 
- openerTabIdномер необязательно Идентификатор вкладки, открывшей данную вкладку. Если указано, открывающая вкладка должна находиться в том же окне, что и вновь созданная вкладка. 
- закрепленныйлогическое необязательное Нужно ли закреплять вкладку. Значение по умолчанию — false
- выбранныйлогическое необязательное УстаревшийПожалуйста, используйте активный . Должна ли вкладка стать выбранной вкладкой в окне. Значение по умолчанию — true
- URL-адресстрока необязательная URL-адрес для первоначального перехода на вкладку. Полные URL-адреса должны включать схему (например, «http://www.google.com», а не «www.google.com»). Относительные URL-адреса указываются относительно текущей страницы в расширении. По умолчанию используется страница новой вкладки. 
- windowIdномер необязательно Окно, в котором будет создана новая вкладка. По умолчанию — текущее окно . 
 
Возврат
- Обещание< Tab > Хром 88+
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
): Promise<string>
Определяет основной язык содержимого на вкладке.
Параметры
- tabIdномер необязательно По умолчанию активная вкладка текущего окна . 
Возврат
- Обещание<строка> Хром 88+
discard()
chrome.tabs.discard(
tabId?: number,
): Promise<Tab | undefined>
Удаляет вкладку из памяти. Удалённые вкладки остаются на панели вкладок и загружаются заново при активации.
Параметры
- tabIdномер необязательно Идентификатор вкладки, которую нужно удалить. Если этот параметр указан, вкладка удаляется, если она не активна или уже удалена. Если этот параметр не указан, браузер удаляет наименее важную вкладку. Это может привести к ошибке, если нет вкладок, которые можно удалить. 
Возврат
- Обещание< Tab | не определено> Хром 88+
Параметры
- tabIdчисло Идентификатор вкладки, которую нужно дублировать. 
Возврат
- Обещание< Tab | не определено> Хром 88+
Параметры
- tabIdчисло 
Возврат
- Обещание< Tab > Хром 88+
getCurrent()
chrome.tabs.getCurrent(): Promise<Tab | undefined>
 Возвращает вкладку, из которой выполняется вызов этого скрипта. Возвращает значение undefined если вызывается из контекста, отличного от вкладки (например, фоновой страницы или всплывающего окна). 
Возврат
- Обещание< Tab | не определено> Хром 88+
getZoom()
chrome.tabs.getZoom(
tabId?: number,
): Promise<number>
Получает текущий коэффициент масштабирования указанной вкладки.
Параметры
- tabIdномер необязательно Идентификатор вкладки, из которой необходимо получить текущий коэффициент масштабирования; по умолчанию — активная вкладка текущего окна. 
Возврат
- Обещание<номер> Хром 88+
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
): Promise<ZoomSettings>
Получает текущие настройки масштабирования указанной вкладки.
Параметры
- tabIdномер необязательно Идентификатор вкладки, из которой необходимо получить текущие настройки масштаба; по умолчанию — активная вкладка текущего окна. 
Возврат
- Обещание< Настройки Zoom > Хром 88+
goBack()
chrome.tabs.goBack(
tabId?: number,
): Promise<void>
Вернитесь на предыдущую страницу, если она доступна.
Параметры
- tabIdномер необязательно Идентификатор вкладки для возврата назад; по умолчанию — выбранная вкладка текущего окна. 
Возврат
- Обещание<void> Хром 88+
goForward()
chrome.tabs.goForward(
tabId?: number,
): Promise<void>
Перейдите на следующую страницу, если она доступна.
Параметры
- tabIdномер необязательно Идентификатор вкладки для перехода вперед; по умолчанию — выбранная вкладка текущего окна. 
Возврат
- Обещание<void> Хром 88+
group()
chrome.tabs.group(
options: object,
): Promise<number>
Добавляет одну или несколько вкладок в указанную группу или, если группа не указана, добавляет указанные вкладки во вновь созданную группу.
Параметры
- параметрыобъект - createPropertiesобъект необязательный Конфигурации для создания группы. Невозможно использовать, если groupId уже указан. - windowIdномер необязательно Окно новой группы. По умолчанию — текущее окно. 
 
- groupIdномер необязательно Идентификатор группы, в которую нужно добавить вкладки. Если не указан, будет создана новая группа. 
- tabIdsчисло | [число, ...число[]] Идентификатор вкладки или список идентификаторов вкладок для добавления в указанную группу. 
 
Возврат
- Обещание<номер> 
highlight()
chrome.tabs.highlight(
highlightInfo: object,
): Promise<windows.Window>
Выделяет указанные вкладки и фокусируется на первой из группы. Не выполняет никаких действий, если указанная вкладка активна.
Параметры
- highlightInfoобъект - вкладкиномер | номер[] Один или несколько индексов вкладок для выделения. 
- windowIdномер необязательно Окно, содержащее вкладки. 
 
Возврат
- Обещание< windows.Window > Хром 88+
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
): Promise<Tab | Tab[]>
Перемещает одну или несколько вкладок на новое место в пределах окна или в новое окно. Обратите внимание, что вкладки можно перемещать только в обычные окна (window.type === "normal") и из них.
Параметры
- tabIdsномер | номер[] Идентификатор вкладки или список идентификаторов вкладок для перемещения. 
- movePropertiesобъект - индексчисло Позиция, в которую следует переместить окно. Используйте -1, чтобы поместить вкладку в конец окна.
- windowIdномер необязательно По умолчанию используется окно, в котором в данный момент находится вкладка. 
 
query()
chrome.tabs.query(
queryInfo: object,
): Promise<Tab[]>
Получает все вкладки, имеющие указанные свойства, или все вкладки, если свойства не указаны.
Параметры
- queryInfoобъект - активныйлогическое необязательное Активны ли вкладки в своих окнах. 
- слышимыйлогическое необязательное Хром 45+Слышны ли вкладки. 
- autoDiscardableлогическое необязательное Хром 54+Может ли браузер автоматически закрывать вкладки при нехватке ресурсов. 
- текущее окнологическое необязательное Находятся ли вкладки в текущем окне . 
- выброшенлогическое необязательное Хром 54+Удалены ли вкладки. Удалённая вкладка — это вкладка, содержимое которой было выгружено из памяти, но всё ещё отображается на панели вкладок. Её содержимое будет загружено заново при следующей активации. 
- замороженныйлогическое необязательное Хром 132+Заморожены ли вкладки. Замороженная вкладка не может выполнять задачи, включая обработчики событий и таймеры. Она отображается на панели вкладок, а её содержимое загружается в память. Она размораживается при активации. 
- groupIdномер необязательно Хром 88+Идентификатор группы, в которой находятся вкладки, или tabGroups.TAB_GROUP_ID_NONEдля несгруппированных вкладок.
- выделенологическое необязательное Подсвечиваются ли вкладки. 
- индексномер необязательно Положение вкладок в окнах. 
- lastFocusedWindowлогическое необязательное Находятся ли вкладки в последнем активном окне. 
- приглушенныйлогическое необязательное Хром 45+Отключены ли вкладки. 
- закрепленныйлогическое необязательное Закреплены ли вкладки. 
- splitViewIdномер необязательно Хром 140+Идентификатор разделенного представления, в котором находятся вкладки, или tabs.SPLIT_VIEW_ID_NONEдля вкладок, которые не находятся в разделенном представлении.
- статусTabStatus необязательно Статус загрузки вкладки. 
- заголовокстрока необязательная Сопоставлять заголовки страниц с шаблоном. Это свойство игнорируется, если у расширения нет разрешения "tabs"или разрешений на размещение страницы.
- URL-адресстрока | строка[] необязательно Сопоставьте вкладки с одним или несколькими шаблонами URL . Идентификаторы фрагментов не сопоставляются. Это свойство игнорируется, если у расширения нет разрешения "tabs"или разрешений на хост для страницы.
- windowIdномер необязательно Идентификатор родительского окна или windows.WINDOW_ID_CURRENTдля текущего окна .
- Тип окнаWindowType необязательно Тип окна, в котором находятся вкладки. 
 
Возврат
- Обещание< Tab []> Хром 88+
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
): Promise<void>
Перезагрузить вкладку.
Параметры
- tabIdномер необязательно Идентификатор вкладки для перезагрузки; по умолчанию — выбранная вкладка текущего окна. 
- reloadPropertiesобъект необязательный - bypassCacheлогическое необязательное Обходить ли локальное кэширование. Значение по умолчанию — false.
 
Возврат
- Обещание<void> Хром 88+
remove()
chrome.tabs.remove(
tabIds: number | number[],
): Promise<void>
Закрывает одну или несколько вкладок.
Параметры
- tabIdsномер | номер[] Идентификатор вкладки или список идентификаторов вкладок, которые необходимо закрыть. 
Возврат
- Обещание<void> Хром 88+
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
): Promise<any>
 Отправляет одно сообщение скрипту(ам) контента на указанной вкладке с необязательным обратным вызовом, который запускается при получении ответа. Событие runtime.onMessage активируется в каждом скрипте контента, запущенном на указанной вкладке для текущего расширения. 
Параметры
- tabIdчисло 
- сообщениелюбой Сообщение для отправки. Это сообщение должно быть объектом, поддерживающим формат JSON. 
- параметрыобъект необязательный 
Возврат
- Обещание<любое> Хром 99+
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
): Promise<void>
Увеличивает указанную вкладку.
Параметры
- tabIdномер необязательно Идентификатор вкладки для масштабирования; по умолчанию — активная вкладка текущего окна. 
- zoomFactorчисло Новый коэффициент масштабирования. Значение 0устанавливает текущий коэффициент масштабирования по умолчанию для вкладки. Значения больше0задают коэффициент масштабирования (возможно, отличный от коэффициента по умолчанию) для вкладки.
Возврат
- Обещание<void> Хром 88+
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
): Promise<void>
Задаёт параметры масштабирования для указанной вкладки, определяющие, как будут обрабатываться изменения масштаба. При переходе по вкладке эти настройки сбрасываются к значениям по умолчанию.
Параметры
- tabIdномер необязательно Идентификатор вкладки, для которой необходимо изменить настройки масштаба; по умолчанию это активная вкладка текущего окна. 
- ZoomSettingsОпределяет, как и в каком диапазоне обрабатываются изменения масштаба. 
Возврат
- Обещание<void> Хром 88+
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
): Promise<void>
Удаляет одну или несколько вкладок из соответствующих групп. Если какие-либо группы становятся пустыми, они удаляются.
Параметры
- tabIdsчисло | [число, ...число[]] Идентификатор вкладки или список идентификаторов вкладок, которые следует удалить из соответствующих групп. 
Возврат
- Обещание<void> 
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
): Promise<Tab | undefined>
 Изменяет свойства вкладки. Свойства, не указанные в updateProperties , не изменяются. 
Параметры
- tabIdномер необязательно По умолчанию используется выбранная вкладка текущего окна . 
- updatePropertiesобъект - активныйлогическое необязательное Должна ли вкладка быть активной. Не влияет на то, находится ли окно в фокусе (см. windows.update).
- autoDiscardableлогическое необязательное Хром 54+Должна ли вкладка автоматически закрываться браузером при низком уровне ресурсов. 
- выделенологическое необязательное Добавляет или удаляет вкладку из текущего выбора. 
- приглушенныйлогическое необязательное Хром 45+Следует ли отключать звук на вкладке. 
- openerTabIdномер необязательно Идентификатор вкладки, открывшей данную вкладку. Если указано, открывающая вкладка должна находиться в том же окне, что и данная вкладка. 
- закрепленныйлогическое необязательное Следует ли закреплять вкладку. 
- выбранныйлогическое необязательное УстаревшийПожалуйста, используйте выделенное . Следует ли выбирать вкладку. 
- URL-адресстрока необязательная URL-адрес для перехода по вкладке. URL-адреса JavaScript не поддерживаются; вместо этого используйте scripting.executeScript.
 
Возврат
- Обещание< Tab | не определено> Хром 88+
События
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
Срабатывает при изменении активной вкладки в окне. Обратите внимание, что URL-адрес вкладки может быть не установлен на момент срабатывания этого события, но вы можете прослушивать события onUpdated, чтобы получать уведомления при установке URL-адреса.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(activeInfo: object) => void - activeInfoобъект - tabIdчисло Идентификатор вкладки, которая стала активной. 
- windowIdчисло Идентификатор окна, внутри которого изменилась активная вкладка. 
 
 
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
Срабатывает, когда вкладка прикреплена к окну, например, при ее перемещении между окнами.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(tabId: number, attachInfo: object) => void - tabIdчисло 
- прикрепитьИнформациюобъект - новая позициячисло 
- newWindowIdчисло 
 
 
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
Срабатывает при создании вкладки. Обратите внимание, что URL-адрес вкладки и её принадлежность к группе могут быть не установлены на момент срабатывания этого события, но вы можете прослушивать события onUpdated, чтобы получать уведомления при установке URL-адреса или добавлении вкладки в группу.
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
Срабатывает при отсоединении вкладки от окна, например, при ее перемещении между окнами.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(tabId: number, detachInfo: object) => void - tabIdчисло 
- отсоединитьИнформацияобъект - старая позициячисло 
- oldWindowIdчисло 
 
 
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объект - fromIndexчисло 
- toIndexчисло 
- windowIdчисло 
 
 
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
Срабатывает при закрытии вкладки.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(tabId: number, removeInfo: object) => void - tabIdчисло 
- removeInfoобъект - isWindowClosingбулев Истина, когда вкладка была закрыта из-за закрытия ее родительского окна. 
- windowIdчисло Окно, вкладка которого закрыта. 
 
 
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
Срабатывает, когда вкладка заменяется другой вкладкой из-за предварительной отрисовки или мгновенно.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(addedTabId: number, removedTabId: number) => void - добавленныйTabIdчисло 
- removedTabIdчисло 
 
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
Срабатывает при обновлении вкладки.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(tabId: number, changeInfo: object, tab: Tab) => void - tabIdчисло 
- changeInfoобъект - слышимыйлогическое необязательное Хром 45+Новое звуковое состояние вкладки. 
- autoDiscardableлогическое необязательное Хром 54+Новое состояние вкладки — возможность автоматического удаления. 
- выброшенлогическое необязательное Хром 54+Новое отмененное состояние вкладки. 
- favIconUrlстрока необязательная URL-адрес нового значка вкладки. 
- замороженныйлогическое необязательное Хром 132+Новое замороженное состояние вкладки. 
- groupIdномер необязательно Хром 88+Новая группа вкладки. 
- mutedInfoMutedInfo (необязательно) Хром 46+Новое отключенное состояние вкладки и причина изменения. 
- закрепленныйлогическое необязательное Новое закрепленное состояние вкладки. 
- splitViewIdномер необязательно Хром 140+Новый режим Split View на вкладке. 
- статусTabStatus необязательно Статус загрузки вкладки. 
- заголовокстрока необязательная Хром 48+Новое название вкладки. 
- URL-адресстрока необязательная URL-адрес вкладки, если он изменился. 
 
- вкладка
 
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
Срабатывает при увеличении масштаба вкладки.
Параметры
- перезвонитьфункция Параметр callbackвыглядит так:(ZoomChangeInfo: object) => void - ZoomChangeInfoобъект - новыйZoomFactorчисло 
- oldZoomFactorчисло 
- tabIdчисло 
- ZoomSettings