Spec-Zone.ru › Web Extensions

tabs.discard()

Удаляет одну или несколько вкладок.

Некоторые браузеры автоматически «удаляют» вкладки, которые, по их мнению, вряд ли понадобятся пользователю в ближайшее время. Вкладка остается видимой в строке вкладок, и браузер запоминает её состояние, поэтому если пользователь выберет удаленную вкладку, она сразу восстановится.

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

API tabs.discard() позволяет расширению удалить одну или несколько вкладок. Невозможно удалить активную вкладку или вкладку, документ которой содержит обработчик события beforeunload, отображающий запрос.

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

Синтаксис

let discarding = browser.tabs.discard(
  tabIds          // integer or integer array
)

Параметры

tabIds

integer или array integer. Идентификаторы вкладки или вкладок для удаления.

Возвращаемое значение

A Promise, который будет выполнен без аргументов, когда все указанные вкладки будут удалены. При возникновении любой ошибки (например, неверные идентификаторы вкладок) промис будет отклонен с сообщением об ошибке.

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

Примеры

Удаление одной вкладки:

function onDiscarded() {
  console.log(`Discarded`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

let discarding = browser.tabs.discard(2);
discarding.then(onDiscarded, onError);

Удаление нескольких вкладок:

function onDiscarded() {
  console.log(`Discarded`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

let discarding = browser.tabs.discard([15, 14, 1]);
discarding.then(onDiscarded, onError);

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

Рабочий стол Мобильные
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari на IOS Samsung Internet
discard
54["Только один идентификатор вкладки принимается в качестве параметра, а не массив.", "Аргумент идентификатора вкладки необязателен: если он опущен, браузер удаляет наименее важную вкладку.", "Обратный вызов получает объект Tab , представляющий удаленную вкладку.", "Вкладки, документ которых содержит обработчик события beforeunload, отображающий запрос, будут удалены."]
14 58 ?
41["Только один идентификатор вкладки принимается в качестве параметра, а не массив.", "Аргумент идентификатора вкладки необязателен: если он опущен, браузер удаляет наименее важную вкладку.", "Обратный вызов получает объект Tab , представляющий удаленную вкладку.", "Вкладки, документ которых содержит обработчик события beforeunload, отображающий запрос, будут удалены."]
Нет ? ? Нет ? Нет ?

Примечание: Этот API основан на API chrome.tabs Chromium.

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/discard

Spec-Zone.ru

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