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

Manifesto

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

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

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 deve fornecer um carimbo de data e hora que indique a data histórica após a qual dados de navegação devem ser removidos. A data e hora são formatadas como o número de milissegundos desde que o época Unix, que pode ser recuperada de um objeto Date JavaScript pelo método getTime.

Por exemplo, para limpar todos os dados de navegação de um usuário da última semana, escreva o código como 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 será muito mais rápido do que chamar vários métodos mais específicos. Se, no entanto, você desejar limpar apenas um tipo específico de dados de navegação (cookies, por exemplo), quanto mais granular 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 o cookie automaticamente na conta de sincronização depois de limpá-la. Isso serve para garantir que a Sincronização continue funcionando eles podem ser excluídos do servidor. No entanto, quanto mais específico O chrome.browsingData.removeCookies pode ser usado para limpar o cookie da conta de sincronização e para sincronizar serão pausadas nesse caso.

Origens específicas

Para remover dados de uma origem específica ou excluir um conjunto de origens da exclusão, use o 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 da API permite especificar quais tipos de origens devem ser realizadas. Atualmente, as origens estão divididas em três categorias:

  • unprotectedWeb: abrange o caso geral de sites que os usuários acessam sem exigir nenhuma à ação. Se você não especificar um originTypes, o padrão da API será remover dados de dados desprotegidos por padrão. origens da Web.
  • 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. o remove da categoria unprotectedWeb. Tenha cuidado ao acionar a exclusão de para essas origens: certifique-se de que os usuários saibam o que estão recebendo, pois isso será irrevogável remover os dados do jogo. Ninguém quer derrubar pequenos porcos com mais frequência do que o necessário.
  • extension abrange origens no esquema chrome-extensions:. A remoção dos dados de extensão é de novo, algo que você deve ter muito cuidado.

Podemos ajustar o exemplo anterior para remover apenas dados de sites protegidos 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,
  "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 (em inglês) das chrome-extension-samples repositório de dados.

Tipos

DataTypeSet

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

Propriedades

  • cache de app

    booleano opcional

    Sites caches de aplicativos.

  • cache

    booleano opcional

    O cache do navegador.

  • cacheStorage

    booleano opcional

    Chrome 72 ou superior

    Armazenamento em cache

  • cookies

    booleano opcional

    Os cookies do navegador.

  • downloads

    booleano opcional

    A lista de downloads do navegador.

  • fileSystems

    booleano opcional

    Sites sistemas de arquivos.

  • formData

    booleano opcional

    Os dados de formulário armazenados do navegador.

  • histórico

    booleano opcional

    O histórico do navegador.

  • indexedDB

    booleano opcional

    Sites Dados do IndexedDB.

  • localStorage

    booleano opcional

    Sites dados de armazenamento local.

  • senhas

    booleano opcional

    Senhas armazenadas.

  • pluginData

    booleano opcional

    Suspenso desde o Chrome 88

    O suporte para Flash foi removido. Esse tipo de dado será ignorado.

    Plug-ins dados.

  • serverBoundCertificates

    booleano opcional

    Suspenso 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

    Sites dados do WebSQL.

RemovalOptions

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

Propriedades

  • excludeOrigins

    string[] opcional

    Chrome 74 ou superior

    Quando presentes, os dados para origens nesta 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 com propriedades que especificam quais tipos de origem devem ser apagados. Se esse objeto não for especificado, o padrão será limpar apenas "desprotegido" origens. Confirme se você realmente deseja remover os dados do aplicativo antes de adicionar "protegidoWeb" ou "extensões".

    • extensão

      booleano opcional

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

    • protectedWeb

      booleano opcional

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

    • unprotectedWeb

      booleano opcional

      Sites normais.

  • origens

    [string, ...string[]] opcional

    Chrome 74 ou superior

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

  • desde que

    número opcional

    Remova os dados acumulados nessa data ou depois dela, representados em milissegundos desde a época (acessível pelo método getTime do objeto JavaScript Date). Se ausente, o padrão é 0 (o que remove 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 opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeAppcache()

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

Limpa os sites dados do appcache.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeCache()

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

Limpa o cache do navegador.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeCacheStorage()

Promessa Chrome 72 ou versão mais recente
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Limpa os sites armazenar os dados em cache.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeCookies()

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

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

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

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

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeFileSystems()

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

Limpa os sites os dados do sistema de arquivos.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeFormData()

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

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

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeHistory()

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

Limpa o histórico do navegador.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeIndexedDB()

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

Limpa os sites Dados do IndexedDB.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeLocalStorage()

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

Limpa os sites dados de armazenamento local.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removePasswords()

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

Limpa as senhas armazenadas do navegador.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removePluginData()

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

O suporte para Flash foi removido. Essa função não tem efeito.

Limpa os plug-ins dados.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeServiceWorkers()

Promessa Chrome 72 ou versão mais recente
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Limpa os sites service workers.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

removeWebSQL()

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

Limpa os sites dados do WebSQL.

Parâmetros

  • opções
  • callback

    função opcional

    O parâmetro callback tem esta aparência:

    () => void

Retorna

  • Promessa<void>

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.

settings()

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

Informa quais tipos de dados estão selecionados na opção "Limpar dados de navegação" interface de usuário de configurações do Windows. Observação: alguns dos tipos de dados incluídos nessa 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 opcional

    O parâmetro callback tem esta aparência:

    (result: object) => void

    • resultado

      objeto

      • dataRemovalPermitted

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

      • dataToRemove

        Todos os tipos vão estar presentes no resultado, com valores de true se forem selecionados para remoção e permitirem a remoção deles. Caso contrário, será false.

      • opções

Retorna

  • Promise&lt;object&gt;

    Chrome 96 ou versão mais recente

    As promessas só têm suporte no Manifesto V3 e versões mais recentes. Outras plataformas precisam usar callbacks.