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 umoriginTypes
, 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 origemhttps://chrome.angrybirds.com
e a remove da categoriaunprotectedWeb
. 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 esquemachrome-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 recenteArmazenamento 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 88A compatibilidade com o Flash foi removida. Esse tipo de dado será ignorado.
Dados dos plug-ins.
-
serverBoundCertificates
booleano opcional
Descontinuado desde o Chrome 76O 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 recenteQuando 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 recenteQuando 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 JavaScriptDate
). Se ausente, o padrão será 0 (o que removeria todos os dados de navegação).
Métodos
remove()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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 recentePromessas 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()
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) efalse
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ãofalse
. -
opções
-
-
Retorna
-
Promise<object>
Chrome 96 ou mais recentePromessas 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.