chrome.browsingData

refresh date: 2026-09-25 robots: noindex

Описание

Используйте 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;
chrome.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);

Метод chrome.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;
chrome.browsingData.removeCookies({
  "since": oneWeekAgo
}, callback);

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

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

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

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

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

Добавив свойство originTypes в объект options 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;
chrome.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 и более поздних версий;

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

  • печенье

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

    Файлы 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 и более поздних версий.

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

  • originTypes

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

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

    • расширение

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

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

    • protectedWeb

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

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

    • unprotectedWeb

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

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

  • источники

    [string, ...string[]] optional

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

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

  • с

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

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

Методы

remove()

Promise
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)
: Promise<void>

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

Параметры

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

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

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

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeAppcache()

Promise Поддержка прекращена в Chrome 152
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeCache()

Promise
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeCacheStorage()

Promise Chrome 72 и более поздние версии
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeCookies()

Promise
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeDownloads()

Promise
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeFileSystems()

Promise
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeFormData()

Promise
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeHistory()

Promise
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeIndexedDB()

Promise
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeLocalStorage()

Promise
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removePasswords()

Promise Поддержка прекращена в Chrome 144
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removePluginData()

Promise Устарело в Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeServiceWorkers()

Promise Chrome 72 и более поздние версии
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

removeWebSQL()

Promise Поддержка прекращена в Chrome 152
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

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

Параметры

  • Параметры
  • обратный вызов

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

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

    () => void

Возвраты

  • Promise<void>

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

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

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

settings()

Promise
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

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

Параметры

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

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

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

    (result: object) => void

    • Результат

      Объект

      • dataRemovalPermitted

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

      • dataToRemove

        В результате будут представлены все типы со значениями true, если они выбраны для удаления и их удаление разрешено, в противном случае – false.

      • Параметры

Возвраты

  • Promise<object>

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

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