chrome.browsingData

Descripción

Usa la API de chrome.browsingData para quitar los datos de navegación del perfil local de un usuario.

Permisos

browsingData

Manifiesto

Debe declarar los "browsingData" permiso en el manifiesto de extensión para usar esta API.

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

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 debería proporcionar una marca de tiempo que indique la fecha histórica después de la cual eliminar los datos de navegación. Esta marca de tiempo tiene el formato de la cantidad de milisegundos desde la Ciclo de entrenamiento Unix (que se puede recuperar desde un objeto Date de JavaScript a través del 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 como sigue:

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 en una sola llamada, y será 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), la información más detallada 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 la cookie automáticamente. para la cuenta de sincronización después de borrarla. Esto es para garantizar que la sincronización pueda seguir funcionando, de modo que los datos pueden borrarse con el tiempo en el servidor. Sin embargo, cuanto más específico chrome.browsingData.removeCookies se puede usar para borrar la cookie de la cuenta de sincronización. se pausará en este caso.

Orígenes específicos

Para quitar datos de un origen específico o excluir de la eliminación un conjunto de orígenes, puedes usar la Parámetros RemovalOptions.origins y RemovalOptions.excludeOrigins Solo pueden aplicarse 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 los orígenes de los datos. Actualmente, los orígenes se dividen en tres categorías:

  • unprotectedWeb abarca el caso general de los sitios web que visitan los usuarios sin realizar ninguna modificación especial acción. Si no especificas un originTypes, la API quitará de forma predeterminada los datos de los que no estén protegidos desde sus orígenes web.
  • protectedWeb abarca los orígenes web que se instalaron como aplicaciones alojadas. Por ejemplo, instalar Angry Birds protege el origen https://chrome.angrybirds.com. lo elimina de la categoría unprotectedWeb. Ten cuidado al activar la eliminación de datos para estos orígenes: asegúrate de que los usuarios sepan lo que están obteniendo, ya que esto provocará que quitar sus datos del juego. Nadie quiere derribar pequeñas casas de cerdos más de lo necesario.
  • extension abarca los orígenes en el esquema chrome-extensions:. Quitar datos de extensiones es de nuevo, 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 las chrome-extension-samples. en un repositorio de confianza.

Tipos

DataTypeSet

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

Propiedades

  • caché de aplicaciones

    booleano opcional

    Sitios web cachés de aplicaciones.

  • 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

    Sitios web sistemas de archivos.

  • formData

    booleano opcional

    Son los datos de formularios almacenados del navegador.

  • historial

    booleano opcional

    El historial del navegador.

  • indexedDB

    booleano opcional

    Sitios web Datos de IndexedDB.

  • localStorage

    booleano opcional

    Sitios web de almacenamiento local.

  • contraseñas

    booleano opcional

    Contraseñas almacenadas

  • pluginData

    booleano opcional

    Obsoleto desde Chrome 88

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

    Complementos de datos no estructurados.

  • serverBoundCertificates

    booleano opcional

    Obsoleto desde 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

    Sitios web Datos de WebSQL.

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 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 borrará solo "desprotegido" orígenes. Asegúrate de que realmente deseas eliminar los datos de la aplicación antes de agregar " ProtectedWeb". o "extensiones".

    • 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[]] 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 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 objeto Date de JavaScript). Si está ausente, 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

    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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeAppcache()

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

Borra los datos de los sitios web los datos de Appcache.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones 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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeCacheStorage()

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

Borra los datos de los sitios web de almacenamiento en caché.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeCookies()

Promesa
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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeDownloads()

Promesa
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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeFileSystems()

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

Borra los datos de los sitios web datos del sistema de archivos.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeFormData()

Promesa
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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones 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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeIndexedDB()

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

Borra los datos de los sitios web Datos de IndexedDB.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeLocalStorage()

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

Borra los datos de los sitios web de almacenamiento local.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removePasswords()

Promesa
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

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removePluginData()

Promesa Obsoleto desde Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

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

Borra los complementos de datos no estructurados.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeServiceWorkers()

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

Borra los datos de los sitios web service workers.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

removeWebSQL()

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

Borra los datos de los sitios web Datos de WebSQL.

Parámetros

  • opciones
  • callback

    función opcional

    El parámetro callback se ve de la siguiente manera:

    () => void

Muestra

  • Promesa<void>

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.

settings()

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

Informa qué tipos de datos están seleccionados actualmente en la sección "Borrar datos de navegación". de configuración de tu app. 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) y false 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

Muestra

  • Promise&lt;object&gt;

    Chrome 96 y versiones posteriores

    Las promesas solo son compatibles con Manifest V3 y versiones posteriores; otras plataformas deben usar devoluciones de llamada.