Descrizione
Utilizza l'API chrome.browsingData per rimuovere i dati di navigazione dal profilo locale di un utente.
Autorizzazioni
browsingDataManifest
Per utilizzare questa API, devi dichiarare l'autorizzazione "browsingData" nel manifest dell'estensione.
{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}
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 numero di millisecondi dall'epoca Unix (che può essere recuperato da un oggetto Date JavaScript tramite 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 dell'API ti consente di specificare i tipi di origini da modificare. Al momento, le origini sono suddivise in tre categorie:
- unprotectedWebcopre 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.
- protectedWebcopre le origini web installate come applicazioni ospitate. L'installazione di Angry Birds, ad esempio, protegge l'origine- https://chrome.angrybirds.come 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.
- extensioncopre 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à
- 
    appcachebooleano facoltativo Appcache dei siti web. 
- 
    cachebooleano facoltativo La cache del browser. 
- 
    cacheStoragebooleano facoltativo Chrome 72+Spazio di archiviazione cache 
- 
    cookiebooleano facoltativo I cookie del browser. 
- 
    downloadbooleano facoltativo L'elenco dei download del browser. 
- 
    fileSystemsbooleano facoltativo File system dei siti web. 
- 
    formDatabooleano facoltativo I dati dei moduli memorizzati nel browser. 
- 
    storiabooleano facoltativo La cronologia del browser. 
- 
    indexedDBbooleano facoltativo Dati IndexedDB dei siti web. 
- 
    localStoragebooleano facoltativo Dati di archiviazione locale dei siti web. 
- 
    passwordbooleano facoltativo Password memorizzate. 
- 
    pluginDatabooleano facoltativo Deprecato a partire da Chrome 88Il supporto di Flash è stato rimosso. Questo tipo di dati verrà ignorato. Dati dei plug-in. 
- 
    serverBoundCertificatesbooleano facoltativo Ritirato a partire da Chrome 76Il supporto per i certificati associati al server è stato rimosso. Questo tipo di dati verrà ignorato. Certificati associati al server. 
- 
    serviceWorkersbooleano facoltativo Service worker. 
- 
    webSQLbooleano facoltativo Dati WebSQL dei siti web. 
RemovalOptions
Opzioni che determinano esattamente quali dati verranno rimossi.
Proprietà
- 
    excludeOriginsstring[] 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.
- 
    originTypesoggetto 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. - 
    estensionebooleano facoltativo Estensioni e applicazioni pacchettizzate installate da un utente (fai _molta_ attenzione!). 
- 
    protectedWebbooleano facoltativo Siti web installati come applicazioni ospitate (fai attenzione!). 
- 
    unprotectedWebbooleano 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. 
- 
    danumber (facoltativo) Rimuovi i dati accumulati a partire da questa data, rappresentata in millisecondi dall'epoca (accessibile tramite il metodo getTimedell'oggetto JavaScriptDate). Se assente, il valore predefinito è 0 (che rimuove tutti i dati di navigazione).
Metodi
remove()
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
- 
    dataToRemoveIl set di tipi di dati da rimuovere. 
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati dell'appcache dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Svuota la cache del browser.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati di archiviazione della cache dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeCookies()
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
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella l'elenco dei file scaricati del browser (non i file scaricati).
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati del file system dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati dei moduli memorizzati nel browser (compilazione automatica).
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella la cronologia del browser.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati IndexedDB dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati di archiviazione locale dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella le password memorizzate nel browser.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removePluginData()
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
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i service worker dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
): Promise<void>
Cancella i dati WebSQL dei siti web.
Parametri
- 
    opzioni
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:() => void 
Resi
- 
            Promise<void> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback. 
settings()
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
- 
    callbackfunzione facoltativa Il parametro callbackha il seguente aspetto:(result: object) => void - 
    risultatooggetto - 
    dataRemovalPermittedTutti i tipi saranno presenti nel risultato, con valori truese è consentita la rimozione (ad es. in base alle norme aziendali) efalsein caso contrario.
- 
    dataToRemoveTutti i tipi saranno presenti nel risultato, con valori truese sono selezionati per la rimozione e se la rimozione è consentita, altrimentifalse.
- 
    opzioni
 
- 
    
 
- 
    
Resi
- 
            Promise<object> Chrome 96+Le promesse sono supportate solo per Manifest V3 e versioni successive, le altre piattaforme devono utilizzare i callback.