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 unoriginTypes
, 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'originehttps://chrome.angrybirds.com
e la rimuove dalla categoriaunprotectedWeb
. 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 schemachrome-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 88Il supporto di Flash è stato rimosso. Questo tipo di dati verrà ignorato.
Dati dei plug-in.
-
serverBoundCertificates
booleano 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.
-
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 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
-
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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()
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) efalse
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, altrimentifalse
. -
opzioni
-
-
Resi
-
Promise<object>
Chrome 96+