browser.browsingData

Описание

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

Разрешения

browsingData

Чтобы использовать этот API, необходимо объявить разрешение "browsingData" в манифесте расширения.

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

Основные понятия и использование

Самый простой вариант использования этого API – механизм удаления данных о работе в браузере по времени. В коде должна быть указана временная метка, которая определяет дату, после которой данные о работе пользователя в браузере должны быть удалены. Временная метка указывается в миллисекундах, прошедших с начала эпохи Unix (это значение можно получить из объекта JavaScript Date с помощью метода getTime()).

Например, чтобы удалить все данные о работе в браузере за последнюю неделю, можно использовать следующий код:

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.remove({
  "since": oneWeekAgo
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Метод browser.browsingData.remove() позволяет удалить различные типы данных о работе в браузере за один вызов. Это намного быстрее, чем вызывать несколько более конкретных методов. Однако если вы хотите очистить только один определенный тип данных о работе в браузере (например, файлы cookie), более детальные методы предлагают читаемую альтернативу вызову, заполненному JSON.

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

Если пользователь синхронизирует свои данные, browser.browsingData.remove() может автоматически восстановить файл cookie для аккаунта синхронизации после его удаления. Это необходимо, чтобы синхронизация продолжала работать и данные в итоге были удалены с сервера. Однако более конкретный параметр browser.browsingData.removeCookies() можно использовать для удаления файлов cookie аккаунта, используемого для синхронизации. В этом случае синхронизация будет приостановлена.

Определенные источники

Чтобы удалить данные для определенного источника или исключить набор источников из удаления, можно использовать параметры RemovalOptions.origins и RemovalOptions.excludeOrigins. Они применяются только к файлам cookie, кешу и хранилищу (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers и WebSQL).

browser.browsingData.remove({
  "origins": ["https://www.example.com"]
}, {
  "cacheStorage": true,
  "cookies": true,
  "fileSystems": true,
  "indexedDB": true,
  "localStorage": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Типы источников

Добавив свойство originTypes в объект параметров API, вы можете указать, на какие типы источников должно распространяться действие. Источники делятся на три категории:

  • unprotectedWeb охватывает общий случай сайтов, которые пользователи посещают, не выполняя никаких специальных действий. Если вы не укажете originTypes, API по умолчанию удалит данные из незащищенных источников.
  • Правило protectedWeb распространяется на источники, которые были установлены как размещаемые приложения. Например, если вы установите Angry Birds, то источник https://chrome.angrybirds.com будет защищен и удален из категории unprotectedWeb. Будьте осторожны, запуская удаление данных для этих источников: убедитесь, что ваши пользователи знают, что они получают, так как это безвозвратно удалит их игровые данные. Никто не хочет разрушать домики поросят чаще, чем нужно.
  • extension охватывает источники по схеме chrome-extensions:. Удаление данных расширения – это ещё одна операция, которую следует выполнять с осторожностью.

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

var callback = function () {
  // Do something clever here once data has been removed.
};

var millisecondsPerWeek = 1000 * 60 * 60 * 24 * 7;
var oneWeekAgo = (new Date()).getTime() - millisecondsPerWeek;
browser.browsingData.remove({
  "since": oneWeekAgo,
  "originTypes": {
    "protectedWeb": true
  }
}, {
  "appcache": true,
  "cache": true,
  "cacheStorage": true,
  "cookies": true,
  "downloads": true,
  "fileSystems": true,
  "formData": true,
  "history": true,
  "indexedDB": true,
  "localStorage": true,
  "passwords": true,
  "serviceWorkers": true,
  "webSQL": true
}, callback);

Примеры

Чтобы попробовать этот API, установите пример browsingData API из репозитория chrome-extension-samples.

Типы

DataTypeSet

Набор типов данных. Отсутствующие типы данных интерпретируются как false.

Свойства

  • appcache

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

    Устарело с версии Chrome 152

    Поддержка appcache прекращена. Этот тип данных будет игнорироваться.

    Кеши приложений сайтов.

  • Кешировать

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

    Кеш браузера.

  • cacheStorage

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

    Chrome 72 и более поздних версий browser.* начиная с Chrome 148

    Хранилище кеша

  • печенье

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

    Файлы cookie браузера.

  • скачивания

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

    Список скачиваний в браузере.

  • fileSystems

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

    Файловые системы сайтов.

  • formData

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

    Данные форм, сохраненные в браузере.

  • история

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

    История браузера.

  • indexedDB

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

    Данные IndexedDB сайтов.

  • localStorage

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

    Данные локального хранилища сайтов.

  • пароли

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

    Устарело в Chrome 144

    Удалена поддержка удаления паролей через расширения. Этот тип данных будет игнорироваться.

    Сохраненные пароли.

  • pluginData

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

    Устарело начиная с Chrome 88

    Поддержка Flash прекращена. Этот тип данных будет игнорироваться.

    Данные плагинов.

  • serverBoundCertificates

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

    Не поддерживается начиная с Chrome 76

    Поддержка сертификатов, привязанных к серверу, прекращена. Этот тип данных будет игнорироваться.

    Сертификаты, привязанные к серверу.

  • serviceWorkers

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

    Сервисные скрипты.

  • webSQL

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

    Устарело с версии Chrome 152

    Поддержка WebSQL прекращена. Этот тип данных будет игнорироваться.

    Данные WebSQL сайтов.

RemovalOptions

Параметры, определяющие, какие именно данные будут удалены.

Свойства

  • excludeOrigins

    string[] необязательно

    Chrome 74 и более поздних версий browser.* начиная с Chrome 148

    Данные источников из этого списка не удаляются. Нельзя использовать вместе с origins. Поддерживается только для файлов cookie, хранилища и кеша. Файлы cookie исключаются для всего регистрируемого домена.

  • originTypes

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

    Объект, свойства которого указывают, какие типы источников нужно очистить. Если этот объект не указан, по умолчанию очищаются только незащищенные источники. Прежде чем добавлять значения protectedWeb или extensions, убедитесь, что вы действительно хотите удалить данные приложений.

    • расширение

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

      Расширения и пакетные приложения, установленные пользователем (будьте _очень_ осторожны!).

    • protectedWeb

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

      сайты, установленные как размещаемые приложения (будьте осторожны!).

    • unprotectedWeb

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

      Обычные сайты.

  • источники

    [string, ...string[]] optional

    Chrome 74 и более поздних версий browser.* начиная с Chrome 148

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

  • с

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

    Удалить данные, накопленные в указанную дату или после нее. Дата указывается в миллисекундах, прошедших с начала эпохи (доступ к ней можно получить с помощью метода getTime объекта JavaScript Date). Если значение не указано, по умолчанию используется 0 (удаляются все данные о работе в браузере).

Методы

remove()

browser.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
)
: Promise<void>

Удаляет различные типы данных о работе в браузере, хранящиеся в профиле пользователя.

Параметры

  • Параметры
  • dataToRemove

    Набор типов данных, которые нужно удалить.

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Выполняется, когда удаление завершено.

removeAppcache()

Устарело с версии Chrome 152
browser.browsingData.removeAppcache(
  options: RemovalOptions,
)
: Promise<void>

Поддержка appcache прекращена. Эта функция не работает.

Удаляет данные кеша приложений сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

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

removeCache()

browser.browsingData.removeCache(
  options: RemovalOptions,
)
: Promise<void>

Очищает кеш браузера.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Выполняется, когда кеш браузера очищен.

removeCacheStorage()

Chrome 72 и более поздних версий browser.* начиная с Chrome 148
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

Очищает данные кеша сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Разрешается, когда хранилище кеша сайтов очищено.

removeCookies()

browser.browsingData.removeCookies(
  options: RemovalOptions,
)
: Promise<void>

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

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

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

removeDownloads()

browser.browsingData.removeDownloads(
  options: RemovalOptions,
)
: Promise<void>

Очищает список скачанных файлов в браузере (не сами файлы).

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

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

removeFileSystems()

browser.browsingData.removeFileSystems(
  options: RemovalOptions,
)
: Promise<void>

Удаляет данные файловой системы сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Распознается, если файловые системы сайтов очищены.

removeFormData()

browser.browsingData.removeFormData(
  options: RemovalOptions,
)
: Promise<void>

Удаляет данные форм, сохраненные в браузере (автозаполнение).

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

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

removeHistory()

browser.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

Очищает историю браузера.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Распознается, когда история браузера очищена.

removeIndexedDB()

browser.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

Удаляет данные IndexedDB сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Разрешается, когда данные IndexedDB сайтов удалены.

removeLocalStorage()

browser.browsingData.removeLocalStorage(
  options: RemovalOptions,
)
: Promise<void>

Очищает данные локального хранилища сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Выполняется, когда локальное хранилище сайтов очищено.

removePasswords()

Устарело в Chrome 144
browser.browsingData.removePasswords(
  options: RemovalOptions,
)
: Promise<void>

Удалена поддержка удаления паролей через расширения. Эта функция не работает.

Удаляет сохраненные в браузере пароли.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

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

removePluginData()

Устарело начиная с Chrome 88
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Поддержка Flash прекращена. Эта функция не работает.

Удаляет данные плагинов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Распознается, если данные плагинов удалены.

removeServiceWorkers()

Chrome 72 и более поздних версий browser.* начиная с Chrome 148
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

Очищает сервисные рабочие процессы сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Разрешается, когда сервисные работники сайтов очищены.

removeWebSQL()

Устарело с версии Chrome 152
browser.browsingData.removeWebSQL(
  options: RemovalOptions,
)
: Promise<void>

Поддержка WebSQL прекращена. Эта функция не работает.

Удаляет данные WebSQL сайтов.

Параметры

Возвраты

  • Promise<void>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148

    Распознается, если базы данных WebSQL сайтов очищены.

settings()

browser.browsingData.settings(): Promise<object>

Сообщает, какие типы данных о работе в браузере выбраны в настройках "Очистить историю". Примечание. Некоторые типы данных, включенные в этот API, недоступны в интерфейсе настроек, а некоторые настройки интерфейса управляют несколькими типами данных, перечисленными здесь.

Возвраты

  • Promise<object>

    Chrome 96 и более поздние версии browser.* начиная с Chrome 148