Описание
Используйте 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 для учётной записи Sync после её очистки. Это необходимо для обеспечения дальнейшей работы Sync, чтобы данные могли быть удалены с сервера. Однако более специфичный метод chrome.browsingData.removeCookies()
можно использовать для очистки cookie для учётной записи Sync, и в этом случае синхронизация будет приостановлена.
Конкретное происхождение
Чтобы удалить данные из определённого источника или исключить набор источников из удаления, можно использовать параметры 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
к объекту параметров 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, установите пример API browsingData из репозитория chrome-extension-samples .
Типы
DataTypeSet
Набор типов данных. Отсутствующие типы данных интерпретируются как false
.
Характеристики
- кэш приложений
логическое необязательное
Кэши приложений веб-сайтов.
- кэш
логическое необязательное
Кэш браузера.
- кэш-хранилище
логическое необязательное
Хром 72+Кэш-хранилище
- печенье
логическое необязательное
Файлы cookie браузера.
- загрузки
логическое необязательное
Список загрузок браузера.
- файловые системы
логическое необязательное
Файловые системы веб-сайтов.
- formData
логическое необязательное
Данные форм, сохраненные браузером.
- история
логическое необязательное
История браузера.
- indexedDB
логическое необязательное
Данные IndexedDB веб-сайтов.
- локальное хранилище
логическое необязательное
Локальное хранилище данных веб-сайтов.
- пароли
логическое необязательное
Сохраненные пароли.
- pluginData
логическое необязательное
Не рекомендуется с версии Chrome 88Поддержка Flash прекращена. Этот тип данных будет игнорироваться.
Данные плагинов.
- serverBoundCertificates
логическое необязательное
Не рекомендуется с Chrome 76Поддержка сертификатов, привязанных к серверу, прекращена. Этот тип данных будет игнорироваться.
Сертификаты, привязанные к серверу.
- serviceWorkers
логическое необязательное
Работники сферы услуг.
- webSQL
логическое необязательное
Данные WebSQL веб-сайтов.
RemovalOptions
Параметры, определяющие, какие именно данные будут удалены.
Характеристики
- исключитьПроисхождение
строка[] необязательная
Хром 74+При наличии данные об источниках из этого списка исключаются из удаления. Не может использоваться вместе с
origins
. Поддерживается только для файлов cookie, хранилища и кэша. Файлы cookie исключаются для всего регистрируемого домена. - originTypes
объект необязательный
Объект, свойства которого определяют, какие типы источников следует очистить. Если этот объект не указан, по умолчанию очищаются только «незащищённые» источники. Перед добавлением «protectedWeb» или «extensions» убедитесь, что вы действительно хотите удалить данные приложения.
- расширение
логическое необязательное
Расширения и пакетные приложения, установленные пользователем (будьте _очень_ осторожны!).
- protectedWeb
логическое необязательное
Веб-сайты, установленные как размещенные приложения (будьте осторожны!).
- незащищенный веб
логическое необязательное
Обычные сайты.
- происхождение
[строка, ...строка[]] необязательно
Хром 74+При наличии удаляются только данные источников из этого списка. Поддерживается только для файлов cookie, хранилища и кэша. Файлы cookie удаляются для всего регистрируемого домена.
- с
номер необязательный
Удалить данные, накопленные на указанную дату или после неё, представленные в миллисекундах с начала эпохи (доступны через метод
getTime
объекта JavaScriptDate
). Если значение отсутствует, по умолчанию используется значение 0 (что удалит все данные о просмотре).
Методы
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
Очищает различные типы данных о просмотренных страницах, хранящиеся в профиле пользователя.
Параметры
- параметры
- данные для удаления
Набор типов данных для удаления.
Возврат
Обещание<void>
Хром 96+
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Очищает данные кэша приложений веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Очищает кэш браузера.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Очищает данные кэша веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Очищает файлы cookie браузера и привязанные к серверу сертификаты, измененные за определенный период времени.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
Очищает список загруженных файлов браузера ( а не сами загруженные файлы).
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Очищает данные файловой системы веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
Очищает сохраненные данные форм браузера (автозаполнение).
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Очищает историю браузера.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Очищает данные IndexedDB веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Очищает локальное хранилище данных веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Очищает сохраненные пароли браузера.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Поддержка Flash прекращена. Эта функция не работает.
Очищает данные плагинов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Очищает сервисные работники веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Очищает данные WebSQL веб-сайтов.
Параметры
- параметры
Возврат
Обещание<void>
Хром 96+
settings()
chrome.browsingData.settings(): Promise<object>
Сообщает, какие типы данных в данный момент выбраны в настройках интерфейса «Очистить данные браузера». Примечание: некоторые типы данных, включённые в этот API, недоступны в настройках интерфейса, а некоторые настройки интерфейса управляют более чем одним типом данных, перечисленным здесь.
Возврат
Обещание<объект>
Хром 96+