chrome.browsingData

Descrição

Use a API chrome.browsingData para remover dados de navegação do perfil local de um usuário.

Permissões

browsingData

Você precisa declarar a permissão "browsingData" no manifesto da extensão para usar essa API.

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

Conceitos e uso

O caso de uso mais simples para essa API é um mecanismo baseado em tempo para limpar os dados de navegação de um usuário. Seu código precisa fornecer um carimbo de data/hora que indique a data histórica após a qual os dados de navegação do usuário devem ser removidos. Esse carimbo de data/hora é formatado como o número de milissegundos desde a época do Unix, que pode ser recuperado de um objeto Date do JavaScript usando o método getTime().

Por exemplo, para limpar todos os dados de navegação de um usuário da última semana, você pode escrever um código da seguinte forma:

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

O método chrome.browsingData.remove() permite remover vários tipos de dados de navegação com uma única chamada e é muito mais rápido do que chamar vários métodos mais específicos. No entanto, se você quiser limpar apenas um tipo específico de dados de navegação (cookies, por exemplo), os métodos mais granulares oferecem uma alternativa legível a uma chamada preenchida com 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); 

Se o usuário estiver sincronizando os dados, o chrome.browsingData.remove() poderá recriar automaticamente o cookie para a conta de sincronização depois que ele for limpo. Isso garante que a Sincronização continue funcionando para que os dados possam ser excluídos do servidor. No entanto, o chrome.browsingData.removeCookies() mais específico pode ser usado para limpar o cookie da conta do Google Sincronização, e a Sincronização será pausada nesse caso.

Origens específicas

Para remover dados de uma origem específica ou excluir um conjunto de origens da exclusão, use os parâmetros RemovalOptions.origins e RemovalOptions.excludeOrigins. Elas só podem ser aplicadas a cookies, cache e armazenamento (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers e WebSQL).

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

Tipos de origem

Ao adicionar uma propriedade originTypes ao objeto de opções das APIs, é possível especificar quais tipos de origens devem ser afetados. As origens são divididas em três categorias:

  • unprotectedWeb abrange o caso geral de sites que os usuários visitam sem realizar nenhuma ação especial. Se você não especificar um originTypes, a API vai remover dados de origens da Web não protegidas por padrão.
  • O protectedWeb abrange as origens da Web que foram instaladas como aplicativos hospedados. Por exemplo, a instalação de Angry Birds protege a origem https://chrome.angrybirds.com e a remove da categoria unprotectedWeb. Tenha cuidado ao acionar a exclusão de dados dessas origens: verifique se os usuários sabem o que vão receber, já que isso vai remover irrevogavelmente os dados do jogo. Ninguém quer derrubar casinhas de porcos minúsculas mais vezes do que o necessário.
  • extension abrange origens no esquema chrome-extensions:. Remover dados de extensão é algo que você precisa fazer com muito cuidado.

Podemos ajustar o exemplo anterior para remover apenas dados de sites protegidos da seguinte maneira:

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

Exemplos

Para testar essa API, instale o exemplo da API browsingData do repositório chrome-extension-samples.

Tipos

DataTypeSet

Um conjunto de tipos de dados. Os tipos de dados ausentes são interpretados como false.

Propriedades

  • appcache

    booleano opcional

    Appcaches de sites.

  • cache

    booleano opcional

    O cache do navegador.

  • cacheStorage

    booleano opcional

    Chrome 72 ou mais recente

    Armazenamento em cache

  • cookies

    booleano opcional

    Os cookies do navegador.

  • downloads

    booleano opcional

    A lista de downloads do navegador.

  • fileSystems

    booleano opcional

    Sistemas de arquivos de sites.

  • formData

    booleano opcional

    Os dados de formulário armazenados pelo navegador.

  • histórico

    booleano opcional

    O histórico do navegador.

  • indexedDB

    booleano opcional

    Dados do IndexedDB dos sites.

  • localStorage

    booleano opcional

    Dados de armazenamento local dos sites.

  • senhas

    booleano opcional

    Senhas armazenadas.

  • pluginData

    booleano opcional

    Suspenso desde o Chrome 88

    A compatibilidade com o Flash foi removida. Esse tipo de dado será ignorado.

    Dados dos plug-ins.

  • serverBoundCertificates

    booleano opcional

    Suspensas desde o Chrome 76

    A compatibilidade com certificados vinculados ao servidor foi removida. Esse tipo de dado será ignorado.

    Certificados vinculados ao servidor.

  • serviceWorkers

    booleano opcional

    Service workers.

  • webSQL

    booleano opcional

    Dados WebSQL de sites.

RemovalOptions

Opções que determinam exatamente quais dados serão removidos.

Propriedades

  • excludeOrigins

    string[] opcional

    Chrome 74 ou mais recente

    Quando presente, os dados das origens nessa lista são excluídos da exclusão. Não pode ser usado com origins. Compatível apenas com cookies, armazenamento e cache. Os cookies são excluídos de todo o domínio registrável.

  • originTypes

    objeto opcional

    Um objeto cujas propriedades especificam quais tipos de origem precisam ser limpos. Se esse objeto não for especificado, o padrão será limpar apenas origens "não protegidas". Confirme se você realmente quer remover os dados do aplicativo antes de adicionar "protectedWeb" ou "extensions".

    • extensão

      booleano opcional

      Extensões e aplicativos empacotados que um usuário instalou (tome muito cuidado!).

    • protectedWeb

      booleano opcional

      Sites instalados como aplicativos hospedados (tenha cuidado!).

    • unprotectedWeb

      booleano opcional

      Sites normais.

  • origens

    [string, ...string[]] opcional

    Chrome 74 ou mais recente

    Quando presente, somente os dados das origens nessa lista são excluídos. Compatível apenas com cookies, armazenamento e cache. Os cookies são limpos para todo o domínio registrável.

  • desde

    number optional

    Remove os dados acumulados nessa data ou depois dela, representados em milissegundos desde a época (acessíveis pelo método getTime do objeto JavaScript Date). Se estiver ausente, o padrão será 0, o que remove todos os dados de navegação.

Métodos

remove()

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

Limpa vários tipos de dados de navegação armazenados no perfil de um usuário.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeAppcache()

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

Limpa os dados do appcache dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeCache()

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

Limpa o cache do navegador.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeCacheStorage()

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

Limpa os dados de armazenamento em cache dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeCookies()

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

Limpa os cookies do navegador e os certificados vinculados ao servidor modificados em um período específico.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeDownloads()

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

Limpa a lista de arquivos baixados do navegador (não os arquivos baixados em si).

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeFileSystems()

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

Limpa os dados do sistema de arquivos dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeFormData()

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

Limpa os dados de formulário armazenados no navegador (preenchimento automático).

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeHistory()

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

Limpa o histórico do navegador.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeIndexedDB()

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

Limpa os dados do IndexedDB dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeLocalStorage()

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

Limpa os dados de armazenamento local dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removePasswords()

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

Limpa as senhas armazenadas no navegador.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removePluginData()

Suspenso desde o Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

A compatibilidade com o Flash foi removida. Essa função não tem efeito.

Limpa os dados dos plug-ins.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeServiceWorkers()

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

Limpa os service workers dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

removeWebSQL()

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

Limpa os dados WebSQL dos sites.

Parâmetros

Retorna

  • Promise<void>

    Chrome 96+

settings()

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

Informa quais tipos de dados estão selecionados na interface de configurações "Remover dados de navegação". Observação: alguns dos tipos de dados incluídos nesta API não estão disponíveis na interface de configurações, e algumas configurações da interface controlam mais de um tipo de dado listado aqui.

Retorna

  • Promise<object>

    Chrome 96+