chrome.browsingData

Описание

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

Разрешения

browsingData

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

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

Концепции и использование

Самый простой вариант использования этого API — это основанный на времени механизм очистки данных о просмотренных страницах пользователя. Ваш код должен содержать временную метку, указывающую историческую дату, после которой данные просмотра пользователя должны быть удалены. Эта временная метка форматируется как количество миллисекунд, прошедших с эпохи Unix (которое можно получить из объекта Date JavaScript с помощью метода 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 к объекту параметров 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 BrowseData из репозитория chrome-extension-samples .

Типы

DataTypeSet

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

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

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

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

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

  • кэш

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

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

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

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

    Хром 72+

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

  • печенье

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

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

  • загрузки

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

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

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

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

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

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

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

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

  • история

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

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

  • индексированная БД

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

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

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

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

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

  • пароли

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

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

  • данные плагина

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

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

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

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

  • ServerBoundCertificates

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

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

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

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

  • работники службы

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

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

  • вебSQL

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

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

RemovalOptions

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

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

  • исключитьOrigins

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

    Хром 74+

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

  • типы происхождения

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

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

    • расширение

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

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

    • protectedWeb

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

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

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

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

      Нормальные сайты.

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

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

    Хром 74+

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

  • с

    номер необязательно

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

Методы

remove()

Обещать
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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

Параметры

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeAppcache()

Обещать
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeCache()

Обещать
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeCacheStorage()

Обещание Chrome 72+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeCookies()

Обещать
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeDownloads()

Обещать
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeFileSystems()

Обещать
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeFormData()

Обещать
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeHistory()

Обещать
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeIndexedDB()

Обещать
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeLocalStorage()

Обещать
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removePasswords()

Обещать
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

Очищает сохраненные пароли браузера.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removePluginData()

Обещание устарело с Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

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

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeServiceWorkers()

Обещание Chrome 72+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Очищает сервис-воркеров веб-сайтов.

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

removeWebSQL()

Обещать
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    () => void

Возврат

  • Обещание<void>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.

settings()

Обещать
chrome.browsingData.settings(
  callback?: function,
)

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

Параметры

  • перезвонить

    функция необязательна

    Параметр callback выглядит так:

    (result: object) => void

    • результат

      объект

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

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

Возврат

  • Обещание<объект>

    Хром 96+

    Промисы поддерживаются в Манифесте V3 и более поздних версиях, но обратные вызовы предусмотрены для обратной совместимости. Вы не можете использовать оба при одном вызове функции. Промис разрешается с тем же типом, который передается в обратный вызов.