Описание
Используйте 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 по умолчанию удалит данные с незащищенных веб-источников. -
protectedWebcovers those web origins that have been installed as hosted applications. Installing Angry Birds , for example, protects the originhttps://chrome.angrybirds.com, and removes it from theunprotectedWebcategory. 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объекта JavaScriptDate). Если значение отсутствует, по умолчанию равно 0 (что удалит все данные просмотра).
Методы
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
Удаляет различные типы данных о просмотре веб-страниц, хранящиеся в профиле пользователя.
Параметры
- параметры
- dataToRemove
Набор типов данных, подлежащих удалению.
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после завершения удаления.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Поддержка appcache удалена. Эта функция не оказывает никакого эффекта.
Очищает кэш приложений веб-сайтов.
Параметры
- параметры
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после очистки кэша приложений веб-сайта.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Очищает кэш браузера.
Параметры
- параметры
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после очистки кэша браузера.
removeCacheStorage()
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.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Поддержка удаления паролей через расширения удалена. Эта функция не работает.
Удаляет сохраненные в браузере пароли.
Параметры
- параметры
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после удаления паролей браузера.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Поддержка Flash удалена. Эта функция не работает.
Очищает данные плагинов.
Параметры
- параметры
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после очистки данных плагинов.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Очищает серверные ресурсы веб-сайтов.
Параметры
- параметры
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после очистки серверных процессов веб-сайта.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Поддержка WebSQL удалена. Эта функция не оказывает никакого эффекта.
Очищает данные WebSQL веб-сайтов.
Параметры
- параметры
Возвраты
Обещание<пустота>
Chrome 96+Проблема решается после очистки баз данных WebSQL веб-сайтов.
settings()
chrome.browsingData.settings(): Promise<object>
Сообщает, какие типы данных в данный момент выбраны в пользовательском интерфейсе настроек «Очистить данные просмотра». Примечание: некоторые типы данных, включенные в этот API, недоступны в пользовательском интерфейсе настроек, а некоторые параметры пользовательского интерфейса управляют более чем одним типом данных, перечисленным здесь.
Возвраты
Promise<object>
Chrome 96+