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 di questa API è un meccanismo basato sul tempo per cancellare i dati di navigazione di un utente. Il tuo codice dovrebbe fornire un timestamp che indichi la data storica dopo la quale i dati di navigazione dell'utente devono essere rimossi. Questo timestamp ha il formato del numero di millisecondi dall'epoca di Unix (che può essere recuperato da un oggetto Date JavaScript utilizzando il metodo getTime()).

Ad esempio, per cancellare tutti i dati di navigazione di un utente nell'ultima settimana, puoi scrivere il codice seguente:

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() consente di rimuovere vari tipi di dati di navigazione con una singola chiamata e sarà molto più veloce rispetto alla chiamata di più metodi più specifici. Tuttavia, se vuoi cancellare solo un tipo specifico di dati di navigazione (ad es. i cookie), i metodi più granulari offrono un'alternativa leggibile a una chiamata contenente 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 suoi dati, chrome.browsingData.remove() potrebbe ricreare automaticamente il cookie per l'account di sincronizzazione dopo averlo cancellato. Questo serve a garantire che la sincronizzazione continui a funzionare, in modo che i dati possano essere eliminati sul server. Tuttavia, è possibile utilizzare l'chrome.browsingData.removeCookies() più specifico per cancellare il cookie per l'account di sincronizzazione e la sincronizzazione verrà messa in pausa in questo caso.

Origini specifiche

Per rimuovere i dati relativi a un'origine specifica o per escludere un insieme di origini dall'eliminazione, puoi utilizzare i parametri RemovalOptions.origins e RemovalOptions.excludeOrigins. Possono essere applicate solo a cookie, cache e archiviazione (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorker 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 API consente di specificare i tipi di origini interessati. Le origini sono suddivise in tre categorie:

  • unprotectedWeb riguarda il caso generale dei siti web visitati dagli utenti senza intraprendere alcuna azione speciale. Se non specifichi un originTypes, l'API rimuove per impostazione predefinita i dati da origini web non protette.
  • protectedWeb riguarda le origini web che sono state installate come applicazioni in hosting. Ad esempio, l'installazione di Angry Birds protegge l'origine https://chrome.angrybirds.com e la rimuove dalla categoria unprotectedWeb. Fai attenzione quando attivi l'eliminazione dei dati per queste origini: assicurati che gli utenti sappiano cosa stanno ricevendo, poiché in questo modo i dati di gioco verranno rimossi irrevocabilmente. Nessuno vuole buttare le piccole casette di maiali più spesso del necessario.
  • extension copre le origini nello schema chrome-extensions:. Anche in questo caso, rimuovere i dati delle estensioni è un aspetto a cui occorre 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 il repository dell'APIbrowsingData da chrome-extension-samples.

Tipi

DataTypeSet

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

Proprietà

  • appcache

    booleano facoltativo

    Memorizzazione nella cache delle app dei siti web.

  • 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

    File system dei siti web.

  • formData

    booleano facoltativo

    I dati dei moduli memorizzati del browser.

  • storia

    booleano facoltativo

    La cronologia del browser.

  • indexedDB

    booleano facoltativo

    Dati IndexedDB dei siti web.

  • localStorage

    booleano facoltativo

    Dati di archiviazione locale dei siti web.

  • password

    booleano facoltativo

    Password memorizzate.

  • pluginData

    booleano facoltativo

    Obsoleto da Chrome 88

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

    Dati dei plug-in.

  • serverBoundCertificates

    booleano facoltativo

    Obsoleto da Chrome 76

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

    Certificati associati al server.

  • serviceWorkers

    booleano facoltativo

    Service worker.

  • webSQL

    booleano facoltativo

    Dati WebSQL dei siti web.

RemovalOptions

Opzioni che determinano esattamente quali dati verranno rimossi.

Proprietà

  • excludeOrigins

    string[] facoltativo

    Chrome 74 e versioni successive

    Se presenti, i dati relativi alle origini in questo elenco vengono esclusi dall'eliminazione. Non possono essere utilizzati insieme a origins. Funzionalità 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 da cancellare. Se questo oggetto non è specificato, per impostazione predefinita vengono cancellate solo le origini "non protette". Assicurati di voler davvero rimuovere i dati dell'applicazione prima di aggiungere "protectWeb" o "estensioni".

    • estensione

      booleano facoltativo

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

    • protectedWeb

      booleano facoltativo

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

    • unprotectedWeb

      booleano facoltativo

      Siti web normali.

  • origini

    string[] facoltativo

    Chrome 74 e versioni successive

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

  • dal

    numero facoltativo

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

Metodi

remove()

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

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

Parametri

  • opzioni
  • dataToRemove

    L'insieme di tipi di dati da rimuovere.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeAppcache()

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

Cancella i dati della cache dell'app dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeCache()

Promessa
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

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeCacheStorage()

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

Cancella i dati di archiviazione nella cache dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeCookies()

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

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

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeDownloads()

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

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

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeFileSystems()

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

Cancella i dati del file system dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeFormData()

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

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

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeHistory()

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

Cancella la cronologia del browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeIndexedDB()

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

Cancella i dati IndexedDB dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeLocalStorage()

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

Cancella i dati di archiviazione locale dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removePasswords()

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

Cancella le password memorizzate del browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removePluginData()

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

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

Cancella i dati dei plug-in.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeServiceWorkers()

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

Cancella i service worker dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

removeWebSQL()

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

Cancella i dati WebSQL dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    ()=>void

Ritorni

  • Promise<void>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.

settings()

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

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

Parametri

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    (result: object)=>void

    • risultato

      oggetto

      • dataRemovalPermitted

        Tutti i tipi saranno presenti nel risultato, con valori pari a true se è possibile rimuoverli (ad es. in base ai criteri aziendali) e false in caso contrario.

      • dataToRemove

        Tutti i tipi saranno presenti nel risultato, con valori pari a true se sono stati selezionati per la rimozione e se è possibile rimuoverli, altrimenti false.

      • opzioni

Ritorni

  • Promise<object>

    Chrome 96 e versioni successive

    Le promesse sono supportate in Manifest V3 e versioni successive, ma vengono forniti callback per garantire la compatibilità con le versioni precedenti. Non puoi utilizzarli entrambi nella stessa chiamata di funzione. La promessa viene risolta con lo stesso tipo trasmesso al callback.