browser.browsingData

Описание

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

Разрешения

browsingData

Для использования этого API необходимо указать разрешение "browsingData" в манифесте расширения .

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

Понятия и применение

The simplest use-case for this API is a time-based mechanism for clearing a user's browsing data. Your code should provide a timestamp which indicates the historical date after which the user's browsing data should be removed. This timestamp is formatted as the number of milliseconds since the Unix epoch (which can be retrieved from a JavaScript Date object using the getTime() method).

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

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);

If the user is syncing their data, browser.browsingData.remove() may automatically rebuild the cookie for the Sync account after clearing it. This is to ensure that Sync can continue working, so that the data can be eventually deleted on the server. However the more specific browser.browsingData.removeCookies() can be used to clear the cookie for the Sync account, and Sync will be paused in this case.

Конкретные истоки

Для удаления данных из определенного источника или исключения набора источников из удаления можно использовать параметры 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 covers those web origins that have been installed as hosted applications. Installing Angry Birds , for example, protects the origin https://chrome.angrybirds.com , and removes it from the unprotectedWeb category. Be careful when triggering deletion of data for these origins: make sure your users know what they're getting, as this will irrevocably remove their game data. No one wants to knock tiny pig houses over more often than necessary.
  • 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 .

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

  • кэш приложений

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

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

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

    Кэширование веб-сайтов.

  • кэш

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

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

  • cacheStorage

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

    Chrome 72+

    кэш-память

  • файлы cookie

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

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

  • загрузки

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

    Список загрузок браузера.

  • файловые системы

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

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

  • формаДанные

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

    Сохраненные в браузере данные формы.

  • история

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

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

  • индексированная база данных

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

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

  • локальное хранилище

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

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

  • пароли

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

    Устарело с версии Chrome 144.

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

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

  • pluginData

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

    Устарело с версии Chrome 88.

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

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

  • serverBoundCertificates

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

    Устарело с версии Chrome 76.

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

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

  • работники сферы услуг

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

    Работники сферы услуг.

  • веб-SQL

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

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

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

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

RemovalOptions

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

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

  • excludeOrigins

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

    Chrome 74+

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

  • originTypes

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

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

    • расширение

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

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

    • protectedWeb

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

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

    • незащищенный веб

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

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

  • происхождение

    [строка, ...строка[]] необязательный

    Chrome 74+

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

  • с

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

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

Методы

remove()

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

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после завершения удаления.

removeAppcache()

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

Поддержка appcache удалена. Эта функция не оказывает никакого эффекта.

Очищает кэш приложений веб-сайтов.

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки кэша приложений веб-сайта.

removeCache()

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

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки кэша браузера.

removeCacheStorage()

Chrome 72+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

Очищает кэш веб-сайта.

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки кэша веб-сайта.

removeCookies()

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

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

Параметры

Возвраты

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

    Chrome 96+

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

removeDownloads()

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

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки списка загруженных файлов в браузере.

removeFileSystems()

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

Очищает файловые данные веб-сайтов.

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки файловых систем веб-сайтов.

removeFormData()

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

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

Параметры

Возвраты

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

    Chrome 96+

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

removeHistory()

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

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки истории браузера.

removeIndexedDB()

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

Очищает данные IndexedDB веб-сайтов.

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки данных IndexedDB на веб-сайтах.

removeLocalStorage()

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

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки локального хранилища веб-сайта.

removePasswords()

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

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

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после удаления паролей браузера.

removePluginData()

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

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

Очищает данные плагинов.

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки данных плагинов.

removeServiceWorkers()

Chrome 72+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

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

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки серверных процессов веб-сайта.

removeWebSQL()

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

Поддержка WebSQL удалена. Эта функция не оказывает никакого эффекта.

Очищает данные WebSQL веб-сайтов.

Параметры

Возвраты

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

    Chrome 96+

    Проблема решается после очистки баз данных WebSQL веб-сайтов.

settings()

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

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

Возвраты

  • Promise<object>

    Chrome 96+