Descripción
Usa la API de chrome.browsingData
para quitar los datos de navegación del perfil local de un usuario.
Permisos
browsingData
Para usar esta API, debes declarar el permiso "browsingData"
en el manifiesto de extensión.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Conceptos y uso
El caso de uso más simple de esta API es un mecanismo basado en el tiempo para borrar los datos de navegación de un usuario.
Tu código debe proporcionar una marca de tiempo que indique la fecha histórica después de la cual se deben quitar los datos de navegación del usuario. Esta marca de tiempo tiene el formato de la cantidad de milisegundos desde el tiempo Unix (que se puede recuperar desde un objeto Date
de JavaScript con el método getTime()
).
Por ejemplo, para borrar todos los datos de navegación de un usuario de la última semana, puedes escribir el código de la siguiente manera:
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);
El método chrome.browsingData.remove()
te permite quitar varios tipos de datos de navegación con una sola llamada y es mucho más rápido que llamar a varios métodos más específicos. Sin embargo, si solo quieres borrar un tipo específico de datos de navegación (por ejemplo, cookies), los métodos más detallados ofrecen una alternativa legible a una llamada completada con 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);
Si el usuario está sincronizando sus datos, chrome.browsingData.remove()
puede volver a compilar automáticamente la cookie para la cuenta de sincronización después de borrarla. Esto permite garantizar que la sincronización pueda seguir funcionando, de modo que los datos puedan borrarse finalmente en el servidor. Sin embargo, se puede usar la chrome.browsingData.removeCookies()
más específica para borrar la cookie de la cuenta de sincronización, y la sincronización se detendrá en este caso.
Orígenes específicos
Para quitar datos de un origen específico o excluir un conjunto de orígenes de la eliminación, puedes usar los parámetros RemovalOptions.origins
y RemovalOptions.excludeOrigins
. Solo se pueden aplicar a cookies, caché y almacenamiento (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers y 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 origen
Agregar una propiedad originTypes
al objeto de opciones de APIs te permite especificar a qué tipos de orígenes se deben aplicar. Los orígenes se dividen en tres categorías:
unprotectedWeb
abarca el caso general de los sitios web que los usuarios visitan sin realizar ninguna acción especial. Si no especificas unoriginTypes
, la API quita de forma predeterminada los datos de orígenes web desprotegidos.protectedWeb
abarca los orígenes web que se instalaron como aplicaciones alojadas. Por ejemplo, instalar Angry Birds protege el origenhttps://chrome.angrybirds.com
y lo quita de la categoríaunprotectedWeb
. Ten cuidado cuando actives la eliminación de datos para estos orígenes: asegúrate de que los usuarios sepan lo que están obteniendo, ya que esto quitará los datos del juego de manera irrevocable. Nadie quiere derribar pequeñas casas de cerdos más de lo necesario.extension
abarca los orígenes en el esquemachrome-extensions:
. Quitar los datos de extensiones es algo con lo que debes tener mucho cuidado.
Podríamos ajustar el ejemplo anterior para quitar solo datos de sitios web protegidos de la siguiente manera:
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);
Ejemplos
Para probar esta API, instala el ejemplo de la API de BrowsingData desde el repositorio chrome-extension-samples.
Tipos
DataTypeSet
Un conjunto de tipos de datos. Los tipos de datos faltantes se interpretan como false
.
Propiedades
-
caché de aplicaciones
booleano opcional
AppCaches de los sitios web
-
Almacenamiento en caché
booleano opcional
La caché del navegador
-
cacheStorage
booleano opcional
Chrome 72 y versiones posterioresAlmacenamiento en caché
-
cookies
booleano opcional
Las cookies del navegador.
-
descargas
booleano opcional
La lista de descargas del navegador.
-
fileSystems
booleano opcional
Sistemas de archivos de los sitios web.
-
formData
booleano opcional
Son los datos de formularios almacenados del navegador.
-
historial
booleano opcional
El historial del navegador.
-
indexedDB
booleano opcional
Datos de IndexedDB de los sitios web.
-
localStorage
booleano opcional
Datos de almacenamiento local de los sitios web
-
contraseñas
booleano opcional
Contraseñas almacenadas
-
pluginData
booleano opcional
Está obsoleto a partir de Chrome 88Se quitó la compatibilidad con Flash. Se ignorará este tipo de datos.
Datos de complementos.
-
serverBoundCertificates
booleano opcional
Obsoleto desde Chrome 76Se quitó la compatibilidad con los certificados vinculados al servidor. Se ignorará este tipo de datos.
Certificados vinculados al servidor.
-
serviceWorkers
booleano opcional
Service Workers
-
webSQL
booleano opcional
Son los datos de WebSQL de los sitios web.
RemovalOptions
Opciones que determinan exactamente qué datos se quitarán.
Propiedades
-
excludeOrigins
string[] opcional
Chrome 74 y versiones posterioresCuando están presentes, los datos de los orígenes de esta lista se excluyen de la eliminación. No se puede usar junto con
origins
. Solo es compatible con las cookies, el almacenamiento y la caché. Se excluyen las cookies de todo el dominio registrable. -
originTypes
objeto opcional
Un objeto cuyas propiedades especifican qué tipos de origen se deben borrar. Si no se especifica este objeto, la configuración predeterminada borra solo los orígenes “desprotegidos”. Asegúrate de que realmente deseas quitar los datos de la aplicación antes de agregar " ProtectedWeb" o "extensions".
-
extensión
booleano opcional
Las extensiones y aplicaciones empaquetadas que un usuario haya instalado (¡_mucho_ cuidado!).
-
protectedWeb
booleano opcional
Sitios web que se instalaron como aplicaciones alojadas (ten cuidado).
-
unprotectedWeb
booleano opcional
Sitios web normales
-
-
orígenes
[string, ...string[]] optional
Chrome 74 y versiones posterioresCuando están presentes, solo se borran los datos de los orígenes de esta lista. Solo es compatible con las cookies, el almacenamiento y la caché. Se borran las cookies de todo el dominio registrable.
-
desde
número opcional
Quita los datos acumulados a partir de esta fecha, representados en milisegundos desde el ciclo de entrenamiento (accesible a través del método
getTime
del objetoDate
de JavaScript). Si está ausente, el valor predeterminado es 0 (lo que quitaría todos los datos de navegación).
Métodos
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
Borra varios tipos de datos de navegación almacenados en el perfil de un usuario.
Parámetros
-
Opciones
-
dataToRemove
El conjunto de tipos de datos que se quitarán.
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Borra los datos de la caché de aplicaciones de los sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
Borra la caché del navegador.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Borra los datos de almacenamiento en caché de los sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
Borra las cookies del navegador y los certificados vinculados al servidor modificados en un período determinado.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
Borra la lista de archivos descargados del navegador (no los archivos descargados en sí).
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Borra los datos del sistema de archivos de los sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
Borra los datos de formulario almacenados en el navegador (autocompletar).
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Borra el historial del navegador.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Borra los datos de IndexedDB de los sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Borra los datos de almacenamiento local de los sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
Borra las contraseñas almacenadas en el navegador.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Se quitó la compatibilidad con Flash. Esta función no tiene efecto.
Borra los datos del complemento.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Borra los service workers de sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Borra los datos de WebSQL de los sitios web.
Parámetros
-
Opciones
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:() => void
Devuelve
-
Promise<void>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.
settings()
chrome.browsingData.settings(
callback?: function,
)
Informa qué tipos de datos están seleccionados actualmente en la IU de configuración de "Borrar datos de navegación". Nota: Algunos de los tipos de datos incluidos en esta API no están disponibles en la IU de configuración, y algunos parámetros de configuración de la IU controlan más de un tipo de datos que se indica aquí.
Parámetros
-
callback
función opcional
El parámetro
callback
se ve de la siguiente manera:(result: object) => void
-
resultado
objeto
-
dataRemovalPermitted
Todos los tipos estarán presentes en el resultado, con valores de
true
si se pueden quitar (p.ej., mediante una política empresarial) yfalse
si no se pueden quitar. -
dataToRemove
Todos los tipos estarán presentes en el resultado, con valores de
true
si se seleccionan y permiten quitar, de lo contrario,false
. -
Opciones
-
-
Devuelve
-
Promise<object>
Chrome 96 y versiones posterioresLas promesas son compatibles con Manifest V3 y versiones posteriores, pero se proporcionan devoluciones de llamada para brindar retrocompatibilidad. No puedes usar ambos en la misma llamada a función. La promesa se resuelve con el mismo tipo que se pasa a la devolución de llamada.