chrome.browsingData

Descripción

Usa la API de chrome.browsingData para quitar 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 para esta API es un mecanismo basado en el tiempo para borrar los datos de navegación del usuario. El 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 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 deseas 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 rellenada 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 se puedan borrar con el tiempo en el servidor. Sin embargo, se puede usar el chrome.browsingData.removeCookies() más específico para borrar la cookie de la cuenta de sincronización. En este caso, se detendrá la sincronización.

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 la API te permite especificar qué tipos de orígenes se deben afectar. Los orígenes se dividen en tres categorías:

  • unprotectedWeb abarca el caso general de sitios web que los usuarios visitan sin realizar ninguna acción especial. Si no especificas un originTypes, la API quita de forma predeterminada los datos de orígenes web que no están protegidos.
  • protectedWeb abarca los orígenes web que se instalaron como aplicaciones alojadas. Por ejemplo, instalar Angry Birds protege el origen https://chrome.angrybirds.com y lo quita de la categoría unprotectedWeb. Ten cuidado cuando actives la eliminación de datos de estos orígenes: asegúrate de que los usuarios sepan lo que están recibiendo, ya que esto quitará los datos del juego de forma irrevocable. Nadie quiere derribar pequeñas casas de cerdos con más frecuencia de la necesaria.
  • extension abarca los orígenes en el esquema chrome-extensions:. Quitar los datos de extensiones es, de nuevo, algo en lo que debes tener mucho cuidado.

Podríamos ajustar el ejemplo anterior para quitar solo los 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 browseData del repositorio chrome-extension-samples.

Tipos

DataTypeSet

Un conjunto de tipos de datos. Los tipos de datos faltantes se interpretan como false.

Propiedades

  • caché de la aplicación

    booleano opcional

    Appcaches de sitios web

  • Almacenamiento en caché

    booleano opcional

    La caché del navegador.

  • cacheStorage

    booleano opcional

    Chrome 72 y versiones posteriores

    Almacenamiento en caché

  • cookies

    booleano opcional

    Las cookies del navegador

  • descargas

    booleano opcional

    La lista de descargas del navegador.

  • fileSystems

    booleano opcional

    Los sistemas de archivos de los sitios web

  • formData

    booleano opcional

    Los datos del formulario almacenados del navegador.

  • historial

    booleano opcional

    El historial del navegador.

  • indexedDB

    booleano opcional

    Datos 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

    Obsoleta a partir de Chrome 88

    Se quitó la compatibilidad con Flash. Se ignorará este tipo de datos.

    Datos de los complementos.

  • serverBoundCertificates

    booleano opcional

    Obsoleta a partir de Chrome 76

    Se 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

    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 posteriores

    Cuando están presentes, los datos de los orígenes de esta lista se excluyen de la eliminación. No se pueden usar junto con origins. Solo es compatible con cookies, almacenamiento y caché. Se excluyen las cookies para todo el dominio registrable.

  • originTypes

    objeto opcional

    Un objeto cuyas propiedades especifican los tipos de origen que se deben borrar. Si no se especifica este objeto, la configuración predeterminada borra solo los orígenes "desprotegidos". Asegúrate de que realmente quieres quitar los datos de la aplicación antes de agregar "protectionWeb" o "extensions".

    • extensión

      booleano opcional

      Extensiones y aplicaciones empaquetadas que un usuario instaló (¡realmente_ ten cuidado!).

    • protectedWeb

      booleano opcional

      Sitios web que se han instalado como aplicaciones alojadas (ten cuidado).

    • unprotectedWeb

      booleano opcional

      Sitios web normales.

  • orígenes

    string[] opcional

    Chrome 74 y versiones posteriores

    Cuando están presentes, solo se borran los datos de los orígenes de esta lista. Solo es compatible con cookies, almacenamiento y 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 objeto Date de JavaScript). Si no está presente, el valor predeterminado es 0 (lo que quitaría todos los datos de navegación).

Métodos

remove()

Promesa
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

    Es 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 posteriores

    Las 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()

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

Borra los datos de appcache 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 posteriores

    Las 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()

Promesa
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 posteriores

    Las 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()

Promesa Chrome 72 y versiones posteriores
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Borra los datos de almacenamiento de la caché 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 posteriores

    Las 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()

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

Borra las cookies y los certificados vinculados al servidor del navegador 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 posteriores

    Las 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()

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

Borra la lista de archivos descargados del navegador (no los archivos descargados).

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 posteriores

    Las 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()

Promesa
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 posteriores

    Las 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()

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

Borra los datos almacenados en el formulario del 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 posteriores

    Las 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()

Promesa
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 posteriores

    Las 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()

Promesa
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 posteriores

    Las 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()

Promesa
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 posteriores

    Las 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()

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

Borra las contraseñas almacenadas 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 posteriores

    Las 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()

Promise Obsoleta a partir de Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

Se quitó la compatibilidad con Flash. Esta función no tiene efecto.

Borra los datos de los complementos.

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 posteriores

    Las 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()

Promesa Chrome 72 y versiones posteriores
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Borra los service workers 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 posteriores

    Las 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()

Promesa
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 posteriores

    Las 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()

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

Informa qué tipos de datos están seleccionados actualmente en la IU de configuración "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 enumera 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 permite que se quiten (p.ej., mediante una política empresarial) y false si no se pueden quitar.

      • dataToRemove

        Todos los tipos estarán presentes en el resultado, con valores de true si ambos se seleccionan para quitarse y se permite su eliminación, de lo contrario, false.

      • Opciones

Devuelve

  • Promise<object>

    Chrome 96 y versiones posteriores

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