chrome.browsingData

Descrizione

Utilizza l'API chrome.browsingData per rimuovere i dati di navigazione dal profilo locale di un utente.

Autorizzazioni

browsingData

Per utilizzare questa API, devi dichiarare l'autorizzazione "browsingData" nel manifest dell'estensione.

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

Concetti e utilizzo

Il caso d'uso più semplice per questa API è un meccanismo basato sul tempo per cancellare i dati di navigazione di un utente. Il codice deve fornire un timestamp che indichi la data storica dopo la quale i dati di navigazione devono essere rimossi. Questo timestamp viene formattato come il numero di millisecondi trascorsi dalla data Unix epoch (che può essere recuperata da un oggetto Date JavaScript utilizzando il metodo getTime()).

Ad esempio, per cancellare tutti i dati di navigazione di un utente dell'ultima settimana, potresti scrivere il codice come che segue:

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

Il metodo chrome.browsingData.remove() ti consente di rimuovere vari tipi di dati di navigazione con un singola chiamata e sarà molto più veloce rispetto a chiamare più metodi più specifici. Se, tuttavia, vuoi cancellare un solo tipo specifico di dati di navigazione (ad esempio i cookie), più granulare offrono un'alternativa leggibile a una chiamata riempita 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);

Se l'utente sta sincronizzando i propri dati, chrome.browsingData.remove() potrebbe ricreare automaticamente il cookie per l'account Sync dopo averlo cancellato. Questo serve a garantire che la sincronizzazione possa continuare a funzionare, alla fine i dati possono essere eliminati sul server. Tuttavia, il più specifico È possibile utilizzare chrome.browsingData.removeCookies() per cancellare il cookie per l'account Sync e Sync verrà messo in pausa in questo caso.

Origini specifiche

Per rimuovere i dati relativi a un'origine specifica o escludere un insieme di origini dall'eliminazione, puoi utilizzare la Parametri RemovalOptions.origins e RemovalOptions.excludeOrigins. Possono essere applicate solo cookie, cache e spazio di archiviazione (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);

Tipi di origine

L'aggiunta di una proprietà originTypes all'oggetto opzioni delle API consente di specificare i tipi di delle origini dati. Le origini sono suddivise in tre categorie:

  • unprotectedWeb tratta il caso generale dei siti web visitati dagli utenti senza seguire un'azione. Se non specifichi un valore originTypes, l'API rimuove per impostazione predefinita i dati dai dispositivi non protetti origini web.
  • protectedWeb copre le origini web che sono state installate come applicazioni ospitate. L'installazione di Angry Birds, ad esempio, protegge l'origine https://chrome.angrybirds.com; e lo rimuove dalla categoria unprotectedWeb. Fai attenzione quando attivi l'eliminazione di per queste origini: assicurati che gli utenti sappiano che cosa ricevono, rimuovere i propri dati di gioco. Nessuno vuole abbattere le casette di maiali più spesso del necessario.
  • extension copre le origini secondo lo schema chrome-extensions:. La rimozione dei dati delle estensioni è una cosa a cui devi fare molta attenzione.

Potremmo modificare l'esempio precedente in modo da rimuovere solo i dati dai siti web protetti nel seguente modo:

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

Esempi

Per provare questa API, installa l'esempio dell'APIbrowsingData da chrome-extension-samples repository Git.

Tipi

DataTypeSet

Un insieme di tipi di dati. I tipi di dati mancanti vengono interpretati come false.

Proprietà

  • appcache

    booleano facoltativo

    Siti web appcache.

  • cache

    booleano facoltativo

    La cache del browser.

  • cacheStorage

    booleano facoltativo

    Chrome 72 e versioni successive .

    Spazio di archiviazione cache

  • cookie

    booleano facoltativo

    I cookie del browser.

  • download

    booleano facoltativo

    L'elenco di download del browser.

  • fileSystems

    booleano facoltativo

    Siti web file system in-app.

  • formData

    booleano facoltativo

    I dati dei moduli memorizzati nel browser.

  • storia

    booleano facoltativo

    La cronologia del browser.

  • indexedDB

    booleano facoltativo

    Siti web Dati IndexedDB.

  • localStorage

    booleano facoltativo

    Siti web di archiviazione locale.

  • password

    booleano facoltativo

    Password memorizzate.

  • pluginData

    booleano facoltativo

    Ritirato da Chrome 88

    Il supporto per Flash è stato rimosso. Questo tipo di dati verrà ignorato.

    Plug-in e i dati di Google Cloud.

  • serverBoundCertificates

    booleano facoltativo

    Ritirato da Chrome 76

    Il supporto per i certificati collegati al server è stato rimosso. Questo tipo di dati verrà ignorato.

    Certificati legati al server.

  • serviceWorkers

    booleano facoltativo

    Service worker.

  • webSQL

    booleano facoltativo

    Siti web Dati WebSQL.

RemovalOptions

Opzioni che determinano esattamente quali dati verranno rimossi.

Proprietà

  • excludeOrigins

    string[] facoltativo

    Chrome 74 e versioni successive .

    Se presenti, i dati per le origini in questo elenco sono esclusi dall'eliminazione. Non può essere utilizzato insieme a origins. Supportata solo per cookie, spazio di archiviazione e cache. I cookie sono esclusi per l'intero dominio registrabile.

  • originTypes

    oggetto facoltativo

    Un oggetto le cui proprietà specificano i tipi di origine che devono essere cancellati. Se questo oggetto non è specificato, per impostazione predefinita cancella solo lo stato "non protetto" diverse origini dati. Assicurati di voler rimuovere davvero i dati dell'applicazione prima di aggiungere "protectWeb" o "estensioni".

    • estensione

      booleano facoltativo

      Estensioni e applicazioni in pacchetto installate da un utente (presta _really_ attenzione!).

    • protectedWeb

      booleano facoltativo

      Siti web che sono stati installati come applicazioni in hosting (fai attenzione!).

    • unprotectedWeb

      booleano facoltativo

      Siti web normali.

  • origini

    [string, ...string[]] facoltativo

    Chrome 74 e versioni successive .

    Se presenti, vengono eliminati solo i dati relativi alle origini di questo elenco. Supportata solo per cookie, spazio di archiviazione e cache. I cookie vengono cancellati per l'intero dominio registrabile.

  • da

    numero facoltativo

    Rimuovi i dati accumulati a partire da questa data, rappresentati in millisecondi a partire dall'epoca (accessibile tramite il metodo getTime dell'oggetto JavaScript Date). Se non è presente, il valore predefinito è 0 (che rimuove tutti i dati di navigazione).

Metodi

remove()

Promesso .
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

Cancella i vari tipi di dati di navigazione memorizzati nel profilo di un utente.

Parametri

  • opzioni
  • dataToRemove

    L'insieme dei tipi di dati da rimuovere.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeAppcache()

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

Cancella i siti web appcache.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeCache()

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

Svuota la cache del browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeCacheStorage()

Promesso Chrome 72 e versioni successive
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Cancella i siti web di memorizzazione nella cache.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeCookies()

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

Cancella i cookie del browser e i certificati legati al server modificati entro un determinato periodo di tempo.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeDownloads()

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

Cancella l'elenco dei file scaricati nel browser (non i file scaricati stessi).

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeFileSystems()

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

Cancella i siti web dati del file system.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeFormData()

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

Cancella i dati dei moduli memorizzati nel browser (compilazione automatica).

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeHistory()

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

Consente di cancellare la cronologia del browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeIndexedDB()

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

Cancella i siti web Dati IndexedDB.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeLocalStorage()

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

Cancella i siti web di archiviazione locale.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removePasswords()

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

Cancella le password memorizzate nel browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removePluginData()

Promesso Ritirato da Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

Il supporto per Flash è stato rimosso. Questa funzione non ha alcun effetto.

Cancella i plug-in e i dati di Google Cloud.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeServiceWorkers()

Promesso Chrome 72 e versioni successive
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Cancella i siti web Service worker.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

removeWebSQL()

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

Cancella i siti web Dati WebSQL.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promesso<void>

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.

settings()

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

Segnala i tipi di dati attualmente selezionati nella sezione "Cancella dati di navigazione". dell'interfaccia utente delle impostazioni. Nota: alcuni tipi di dati inclusi in questa API non sono disponibili nell'interfaccia utente delle impostazioni e alcune impostazioni controllano più di un tipo di dati elencato qui.

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (result: object) => void

    • risultato

      oggetto

      • dataRemovalPermitted

        Nel risultato saranno presenti tutti i tipi, con valori true se è consentita la rimozione (ad es. in base ai criteri aziendali) e false in caso contrario.

      • dataToRemove

        Nel risultato saranno presenti tutti i tipi, con valori true se entrambi sono selezionati per la rimozione e possono essere rimossi, altrimenti false.

      • opzioni

Resi

  • Promise&lt;object&gt;

    Chrome 96 e versioni successive .

    Le promesse sono supportate in Manifest V3 e versioni successive, ma sono disponibili callback per la compatibilità con le versioni precedenti. Non puoi utilizzare entrambi nella stessa chiamata di funzione. La si risolve con lo stesso tipo passato al callback.