Descrizione
Utilizza l'API chrome.browsingData per rimuovere i dati di navigazione dal profilo locale di un utente.
Autorizzazioni
browsingDataPer 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:
unprotectedWebcopre 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.protectedWebcopre le origini web installate come applicazioni ospitate. L'installazione di Angry Birds, ad esempio, protegge l'originehttps://chrome.angrybirds.come 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.extensioncopre 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
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,
): 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.
Resi
-
Promise<void>
Chrome 96+
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Cancella i dati dell'appcache dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Svuota la cache del browser.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Cancella i dati di archiviazione della cache dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Cancella i cookie e i certificati associati al server modificati entro un determinato periodo di tempo.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
Cancella l'elenco dei file scaricati del browser (non i file scaricati).
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Cancella i dati del file system dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
Cancella i dati dei moduli memorizzati nel browser (compilazione automatica).
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Cancella la cronologia del browser.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Cancella i dati IndexedDB dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Cancella i dati di archiviazione locale dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Cancella le password memorizzate nel browser.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Il supporto di Flash è stato rimosso. Questa funzione non ha effetto.
Cancella i dati dei plug-in.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Cancella i service worker dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Cancella i dati WebSQL dei siti web.
Parametri
- opzioni
Resi
-
Promise<void>
Chrome 96+
settings()
chrome.browsingData.settings(): 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.
Resi
-
Promise<object>
Chrome 96+