Descrizione
Utilizza l'API chrome.browsingData
per rimuovere i dati di navigazione dal profilo locale di un utente.
Autorizzazioni
browsingData
Manifest
Devi dichiarare il valore "browsingData" nel manifest dell'estensione per utilizzare questa API.
{
"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 devono essere rimossi. Questo timestamp viene formattato come il numero di millisecondi trascorsi dalla data
Unix epoch (che può essere recuperata da un oggetto Date
JavaScript tramite il metodo getTime
).
Ad esempio, per cancellare tutti i dati di navigazione di un utente dell'ultima settimana, potresti scrivere il codice come che 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
ti consente di rimuovere vari tipi di dati di navigazione con un
singola chiamata e sarà molto più veloce rispetto a chiamare più metodi più specifici. Se, tuttavia,
vuoi cancellare un solo tipo specifico di dati di navigazione (ad esempio i cookie), più granulare
offrono un'alternativa leggibile a una chiamata riempita con 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 propri dati, chrome.browsingData.remove
potrebbe ricreare automaticamente il cookie
per l'account Sync dopo averlo cancellato. Questo serve a garantire che la sincronizzazione possa continuare a funzionare,
alla fine i dati possono essere eliminati sul server. Tuttavia, il più specifico
È possibile utilizzare chrome.browsingData.removeCookies
per cancellare il cookie per l'account Sync e Sync
verrà messo in pausa in questo caso.
Origini specifiche
Per rimuovere i dati relativi a un'origine specifica o escludere un insieme di origini dall'eliminazione, puoi utilizzare la
Parametri RemovalOptions.origins
e RemovalOptions.excludeOrigins
. Possono essere applicate solo
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 opzioni dell'API consente di specificare i tipi di
delle origini dati. Attualmente, le origini sono suddivise in tre categorie:
unprotectedWeb
tratta il caso generale dei siti web visitati dagli utenti senza seguire un'azione. Se non specifichi un valoreoriginTypes
, l'API rimuove per impostazione predefinita i dati dai dispositivi non protetti origini web.protectedWeb
copre le origini web che sono state installate come applicazioni ospitate. L'installazione di Angry Birds, ad esempio, protegge l'originehttps://chrome.angrybirds.com
; e lo rimuove dalla categoriaunprotectedWeb
. Fai attenzione quando attivi l'eliminazione di per queste origini: assicurati che gli utenti sappiano che cosa ricevono, rimuovere i propri dati di gioco. Nessuno vuole abbattere le casette di maiali più spesso del necessario.extension
copre le origini secondo lo schemachrome-extensions:
. La rimozione dei dati delle estensioni è una cosa a cui devi 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 l'esempio dell'APIbrowsingData da chrome-extension-samples repository Git.
Tipi
DataTypeSet
Un insieme di tipi di dati. I tipi di dati mancanti vengono interpretati come false
.
Proprietà
-
appcache
booleano facoltativo
Siti web appcache.
-
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
Siti web file system in-app.
-
formData
booleano facoltativo
I dati dei moduli memorizzati nel browser.
-
storia
booleano facoltativo
La cronologia del browser.
-
indexedDB
booleano facoltativo
Siti web Dati IndexedDB.
-
localStorage
booleano facoltativo
Siti web di archiviazione locale.
-
password
booleano facoltativo
Password memorizzate.
-
pluginData
booleano facoltativo
Ritirato da Chrome 88Il supporto per Flash è stato rimosso. Questo tipo di dati verrà ignorato.
Plug-in e i dati di Google Cloud.
-
serverBoundCertificates
booleano facoltativo
Ritirato da Chrome 76Il supporto per i certificati collegati al server è stato rimosso. Questo tipo di dati verrà ignorato.
Certificati legati al server.
-
serviceWorkers
booleano facoltativo
Service worker.
-
webSQL
booleano facoltativo
Siti web Dati WebSQL.
RemovalOptions
Opzioni che determinano esattamente quali dati verranno rimossi.
Proprietà
-
excludeOrigins
string[] facoltativo
Chrome 74 e versioni successive .Se presenti, i dati per le origini in questo elenco sono esclusi dall'eliminazione. Non può essere utilizzato insieme a
origins
. 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 che devono essere cancellati. Se questo oggetto non è specificato, per impostazione predefinita cancella solo lo stato "non protetto" diverse origini dati. Assicurati di voler rimuovere davvero i dati dell'applicazione prima di aggiungere "protectWeb" o "estensioni".
-
estensione
booleano facoltativo
Estensioni e applicazioni in pacchetto installate da un utente (presta _really_ attenzione!).
-
protectedWeb
booleano facoltativo
Siti web che sono stati installati come applicazioni in hosting (fai attenzione!).
-
unprotectedWeb
booleano facoltativo
Siti web normali.
-
-
origini
[string, ...string[]] facoltativo
Chrome 74 e versioni successive .Se presenti, vengono eliminati solo i dati relativi alle origini di questo elenco. Supportata solo per cookie, spazio di archiviazione e cache. I cookie vengono cancellati per l'intero dominio registrabile.
-
da
numero facoltativo
Rimuovi i dati accumulati a partire da questa data, rappresentati in millisecondi a partire dall'epoca (accessibile tramite il metodo
getTime
dell'oggetto JavaScriptDate
). Se non è presente, il valore predefinito è 0 (che rimuove tutti i dati di navigazione).
Metodi
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
Cancella i vari tipi di dati di navigazione memorizzati nel profilo di un utente.
Parametri
-
opzioni
-
dataToRemove
L'insieme dei tipi di dati da rimuovere.
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web appcache.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeCache()
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
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web di memorizzazione nella cache.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
Cancella i cookie del browser e i certificati legati al server modificati entro un determinato periodo di tempo.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
Cancella l'elenco dei file scaricati nel browser (non i file scaricati stessi).
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web dati del file system.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
Cancella i dati dei moduli memorizzati nel browser (compilazione automatica).
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Consente di cancellare la cronologia del browser.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web Dati IndexedDB.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web di archiviazione locale.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
Cancella le password memorizzate nel browser.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Il supporto per Flash è stato rimosso. Questa funzione non ha alcun effetto.
Cancella i plug-in e i dati di Google Cloud.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web Service worker.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Cancella i siti web Dati WebSQL.
Parametri
-
opzioni
-
callback
funzione facoltativa
Il parametro
callback
ha il seguente aspetto:() => void
Resi
-
Promesso<void>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.
settings()
chrome.browsingData.settings(
callback?: function,
)
Segnala i tipi di dati attualmente selezionati nella sezione "Cancella dati di navigazione". dell'interfaccia utente delle impostazioni. Nota: alcuni tipi di dati inclusi in questa API non sono disponibili nell'interfaccia utente delle impostazioni e alcune impostazioni 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
Nel risultato saranno presenti tutti i tipi, con valori
true
se è consentita la rimozione (ad es. in base ai criteri aziendali) efalse
in caso contrario. -
dataToRemove
Nel risultato saranno presenti tutti i tipi, con valori
true
se entrambi sono selezionati per la rimozione e possono essere rimossi, altrimentifalse
. -
opzioni
-
-
Resi
-
Promise<object>
Chrome 96 e versioni successive .Le promesse sono supportate solo per Manifest V3 e versioni successive, mentre le altre piattaforme devono utilizzare i callback.