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

É necessário declarar a permissão "browsingData" no manifesto de extensões para usar a API.

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

Conceitos e uso

O caso de uso mais simples dessa 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 de remoção dos dados de navegação do usuário. Esse carimbo de data/hora é formatado como o número de milissegundos desde a época Unix (que pode ser recuperado de um objeto Date JavaScript usando o método getTime()).

Por exemplo, para limpar todos os dados de navegação de um usuário da última semana, escreva o código desta 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 dados, o chrome.browsingData.remove() pode recriar automaticamente o cookie da conta de sincronização após a limpeza. Isso garante que a sincronização continue funcionando e que os dados possam ser excluídos do servidor. No entanto, a chrome.browsingData.removeCookies() mais específica pode ser usada para limpar o cookie da conta de sincronização. A sincronização vai ser pausada nesse caso.

Origens específicas

Para remover dados de uma origem específica ou excluir um conjunto de origens da exclusão, você pode usar 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

Adicionar uma propriedade originTypes ao objeto de opções das APIs permite especificar quais tipos de origens precisam ser afetados. As origens estã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, o padrão da API será remover dados de origens da Web desprotegidas.
  • protectedWeb abrange as origens da Web que foram instaladas como aplicativos hospedados. A instalação do Angry Birds, por exemplo, protege a origem https://chrome.angrybirds.com e a remove da categoria unprotectedWeb. Tenha cuidado ao acionar a exclusão de dados para essas origens: verifique se os usuários sabem o que estão recebendo, já que isso vai remover os dados do jogo de maneira irrevogável. Ninguém quer derrubar casas de porcos minúsculos com mais frequência do que o necessário.
  • extension abrange origens no esquema chrome-extensions:. A remoção de dados de extensão é, novamente, algo com o qual você precisa ter 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 esta API, instale o exemplo da API BrowsingData no repositório chrome-extension-samples.

Tipos

DataTypeSet

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

Propriedades

  • cache de app

    booleano opcional

    Caches de apps dos 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.

  • de músicas

    booleano opcional

    A lista de downloads do navegador.

  • fileSystems

    booleano opcional

    Sistemas de arquivos dos sites.

  • formData

    booleano opcional

    Dados de formulário armazenados do navegador.

  • histórico

    booleano opcional

    O histórico do navegador.

  • indexedDB

    booleano opcional

    Dados do IndexedDB de sites.

  • localStorage

    booleano opcional

    Dados de armazenamento local de sites.

  • senhas

    booleano opcional

    Senhas armazenadas.

  • pluginData

    booleano opcional

    Descontinuado desde o Chrome 88

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

    Dados dos plug-ins.

  • serverBoundCertificates

    booleano opcional

    Descontinuado desde o Chrome 76

    O suporte para certificados vinculados ao servidor foi removido. Esse tipo de dado será ignorado.

    Certificados vinculados ao servidor

  • serviceWorkers

    booleano opcional

    Service workers.

  • webSQL

    booleano opcional

    Dados do WebSQL de sites.

RemovalOptions

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

Propriedades

  • excludeOrigins

    string[] opcional

    Chrome 74 ou mais recente

    Quando presentes, os dados de origens nessa lista são excluídos da exclusão. Não é possível usar com origins. Compatível apenas para cookies, armazenamento e cache. Os cookies são excluídos em todo o domínio registrável.

  • originTypes

    objeto opcional

    Um objeto cujas propriedades especificam quais tipos de origem devem ser apagados. Se esse objeto não for especificado, o padrão será limpar apenas origens "desprotegidas". Remova de fato os dados do aplicativo antes de adicionar "ProtectedWeb" ou "extensions".

    • extensão

      booleano opcional

      Extensões e aplicativos empacotados que um usuário tenha instalado (tenha _muito_ cuidado!).

    • protectedWeb

      booleano opcional

      Sites que foram instalados como aplicativos hospedados (tenha cuidado!).

    • unprotectedWeb

      booleano opcional

      Sites normais.

  • origens

    string[] opcional

    Chrome 74 ou mais recente

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

  • desde

    número opcional

    Remova os dados acumulados nessa data ou após essa data, representados em milissegundos desde o período (acessível pelo método getTime do objeto JavaScript Date). Se ausente, o padrão será 0 (o que removeria todos os dados de navegação).

Métodos

remove()

Promessa
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

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

Parâmetros

  • opções
  • dataToRemove

    O conjunto de tipos de dados a serem removidos.

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeAppcache()

Promessa
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

Limpa os dados de cache de apps dos sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeCache()

Promessa
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

Limpa o cache do navegador.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeCacheStorage()

Promessa Chrome 72+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Limpa os dados de armazenamento em cache dos sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeCookies()

Promessa
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)

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

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeDownloads()

Promessa
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

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

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeFileSystems()

Promessa
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

Limpa os dados do sistema de arquivos dos sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeFormData()

Promessa
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

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

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeHistory()

Promessa
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

Limpa o histórico do navegador.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeIndexedDB()

Promessa
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

Limpa os dados do IndexedDB de sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeLocalStorage()

Promessa
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

Limpa os dados de armazenamento local dos sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removePasswords()

Promessa
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

Limpa as senhas armazenadas do navegador.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removePluginData()

Promise Descontinuado desde o Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

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

Limpa os dados dos plug-ins.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeServiceWorkers()

Promessa Chrome 72+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Limpa os service workers dos sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

removeWebSQL()

Promessa
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

Limpa os dados do WebSQL dos sites.

Parâmetros

  • opções
  • callback

    função optional

    O parâmetro callback tem esta aparência:

    ()=>void

Retorna

  • Promise<void>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.

settings()

Promessa
chrome.browsingData.settings(
  callback?: function,
)

Informa quais tipos de dados estão selecionados no momento na interface de configurações "Limpar 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 de interface controlam mais de um tipo de dados listado aqui.

Parâmetros

  • callback

    função optional

    O parâmetro callback tem esta aparência:

    (result: object)=>void

    • resultado

      objeto

      • dataRemovalPermitted

        Todos os tipos estarão presentes no resultado, com os valores true se tiverem permissão para serem removidos (por exemplo, por uma política da empresa) e false se não puderem.

      • dataToRemove

        Todos os tipos estarão presentes no resultado, com valores de true se ambos forem selecionados para serem removidos e tiverem permissão para serem removidos. Caso contrário, serão false.

      • opções

Retorna

  • Promise<object>

    Chrome 96 ou mais recente

    Promessas são compatíveis com o Manifest V3 e versões mais recentes, mas callbacks são fornecidos para compatibilidade com versões anteriores. Não é possível usar os dois na mesma chamada de função. A promessa é resolvida com o mesmo tipo que é passado para o callback.