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 dell'utente devono essere rimossi. Questo timestamp è formattato come il numero di millisecondi dall'epoca Unix (che può essere recuperato da un oggetto JavaScript Date utilizzando il metodo getTime()).

Ad esempio, per cancellare tutti i dati di navigazione di un utente dell'ultima settimana, puoi scrivere il codice come 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() 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. Se, invece, vuoi cancellare solo un tipo specifico di dati di navigazione (ad esempio i cookie), i metodi più granulari offrono un'alternativa leggibile a una chiamata piena di 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 sincronizza i propri dati, chrome.browsingData.remove() potrebbe ricreare automaticamente il cookie per l'account di sincronizzazione dopo averlo cancellato. per garantire che la sincronizzazione possa continuare a funzionare, in modo che i dati possano essere eliminati dal server. Tuttavia, il cookie più specifico chrome.browsingData.removeCookies() può essere utilizzato per cancellare il cookie per l'account di sincronizzazione e la sincronizzazione verrà sospesa in questo caso.

Origini specifiche

Per rimuovere i dati per 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 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 delle opzioni delle API consente di specificare i tipi di origini da interessare. Le origini sono suddivise in tre categorie:

  • unprotectedWeb copre il caso generale dei siti web che gli utenti visitano senza intraprendere alcuna azione speciale. Se non specifichi un originTypes, l'API rimuove i dati dalle origini web non protette per impostazione predefinita.
  • protectedWeb copre le origini web installate come applicazioni ospitate. L'installazione di Angry Birds, ad esempio, 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 i tuoi utenti sappiano cosa stanno per fare, in quanto questa azione rimuoverà irrevocabilmente i dati di gioco. Nessuno vuole far cadere le casette dei tre porcellini più spesso del necessario.
  • extension copre le origini con lo schema chrome-extensions:. La rimozione dei dati delle estensioni è, ancora una volta, un'operazione da eseguire con molta attenzione.

Potremmo modificare l'esempio precedente per rimuovere solo i dati dei 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 di API browsingData dal repository chrome-extension-samples.

Tipi

DataTypeSet

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

Proprietà

  • appcache

    booleano facoltativo

    Appcache dei siti web.

  • cache

    booleano facoltativo

    La cache del browser.

  • cacheStorage

    booleano facoltativo

    Chrome 72+

    Spazio di archiviazione cache

  • cookie

    booleano facoltativo

    I cookie del browser.

  • download

    booleano facoltativo

    L'elenco dei download del browser.

  • fileSystems

    booleano facoltativo

    File system dei siti web.

  • formData

    booleano facoltativo

    I dati dei moduli memorizzati nel 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

    Deprecato a partire da Chrome 88

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

    Dati dei plug-in.

  • serverBoundCertificates

    booleano facoltativo

    Ritirato a partire da Chrome 76

    Il supporto per i certificati associati 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+

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

  • originTypes

    oggetto facoltativo

    Un oggetto le cui proprietà specificano quali tipi di origine devono essere cancellati. Se questo oggetto non è specificato, per impostazione predefinita vengono cancellate solo le origini "non protette". Prima di aggiungere "protectedWeb" o "extensions", assicurati di voler davvero rimuovere i dati dell'applicazione.

    • estensione

      booleano facoltativo

      Estensioni e applicazioni pacchettizzate installate da un utente (fai _molta_ attenzione!).

    • protectedWeb

      booleano facoltativo

      Siti web installati come applicazioni ospitate (fai attenzione!).

    • unprotectedWeb

      booleano facoltativo

      Siti web normali.

  • origini

    [stringa, ...stringa[]] facoltativo

    Chrome 74+

    Se presente, vengono eliminati solo i dati delle origini in questo elenco. Supportato solo per cookie, spazio di archiviazione e cache. I cookie vengono cancellati per l'intero dominio registrabile.

  • da

    number (facoltativo)

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

Metodi

remove()

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

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

Parametri

  • opzioni
  • dataToRemove

    Il set di tipi di dati da rimuovere.

  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeAppcache()

Promessa
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i dati dell'appcache dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeCache()

Promessa
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Svuota la cache del browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeCacheStorage()

Promessa Chrome 72+
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i dati di archiviazione della cache dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeCookies()

Promessa
chrome.browsingData.removeCookies(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i cookie e i certificati associati al server modificati entro un determinato periodo di tempo.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeDownloads()

Promessa
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeFileSystems()

Promessa
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i dati del file system dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeFormData()

Promessa
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

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

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeHistory()

Promessa
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella la cronologia del browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeIndexedDB()

Promessa
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i dati IndexedDB dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeLocalStorage()

Promessa
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i dati di archiviazione locale dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removePasswords()

Promessa
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella le password memorizzate nel browser.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removePluginData()

Promise Ritirato a partire da Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Il supporto di 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

Resi

  • Promise<void>

    Chrome 96+

removeServiceWorkers()

Promessa Chrome 72+
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i service worker dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

removeWebSQL()

Promessa
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)
: Promise<void>

Cancella i dati WebSQL dei siti web.

Parametri

  • opzioni
  • callback

    funzione facoltativa

    Il parametro callback ha il seguente aspetto:

    () => void

Resi

  • Promise<void>

    Chrome 96+

settings()

Promessa
chrome.browsingData.settings(
  callback?: function,
)
: Promise<object>

I report indicano i tipi di dati attualmente selezionati nell'interfaccia utente delle impostazioni "Cancella dati di navigazione". Nota: alcuni dei tipi di dati inclusi in questa API non sono disponibili nella UI delle impostazioni e alcune impostazioni della UI 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

        Tutti i tipi saranno presenti nel risultato, con valori true se è consentita la rimozione (ad es. in base alle norme aziendali) e false in caso contrario.

      • dataToRemove

        Tutti i tipi saranno presenti nel risultato, con valori true se sono selezionati per la rimozione e se la rimozione è consentita, altrimenti false.

      • opzioni

Resi

  • Promise<object>

    Chrome 96+