Opis
Używanie interfejsu API chrome.browsingData
do usuwania danych przeglądania z lokalnego profilu użytkownika
Uprawnienia
browsingData
Aby używać tego interfejsu API, musisz zadeklarować uprawnienie "browsingData"
w pliku manifestu rozszerzenia.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Pojęcia i zastosowanie
Najprostszym przypadkiem użycia tego interfejsu API jest czasowy mechanizm czyszczenia danych przeglądania użytkownika.
Kod powinien zawierać sygnaturę czasową wskazującą datę, po której dane przeglądania powinny zostać usunięte. Ta sygnatura czasowa jest sformatowana jako liczba milisekund od początku epoki uniksowej (którą można pobrać z obiektu JavaScript Date
za pomocą metody getTime()
).
Aby np. wyczyścić wszystkie dane przeglądania z ostatniego tygodnia, możesz wpisać ten kod:
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);
Metoda chrome.browsingData.remove()
umożliwia usuwanie różnych typów danych przeglądania w ramach jednego wywołania i jest znacznie szybsza niż wywoływanie wielu bardziej szczegółowych metod. Jeśli jednak chcesz wyczyścić tylko jeden konkretny typ danych przeglądania (np. pliki cookie), bardziej szczegółowe metody stanowią czytelną alternatywę dla wywołania wypełnionego danymi 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);
Jeśli użytkownik synchronizuje dane, po wyczyszczeniu danych chrome.browsingData.remove()
może automatycznie ponownie utworzyć plik cookie dla konta synchronizacji. Zapewnia to ciągłość synchronizacji i umożliwia usunięcie danych z serwera. Jednak bardziej szczegółowego parametru chrome.browsingData.removeCookies()
można użyć do wyczyszczenia pliku cookie konta synchronizacji, co spowoduje wstrzymanie synchronizacji.
Określone pochodzenie
Aby usunąć dane z określonego źródła lub wykluczyć zbiór źródeł z celu usunięcia, możesz użyć parametrów RemovalOptions.origins
i RemovalOptions.excludeOrigins
. Można je stosować tylko do plików cookie, pamięci podręcznej i pamięci podręcznej (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers i WebSQL).
chrome.browsingData.remove({
"origins": ["https://www.example.com"]
}, {
"cacheStorage": true,
"cookies": true,
"fileSystems": true,
"indexedDB": true,
"localStorage": true,
"serviceWorkers": true,
"webSQL": true
}, callback);
Typy punktów początkowych
Dodanie właściwości originTypes
do obiektu API opcji pozwala określić, jakie typy źródeł mają działać. Pochodzenie dzieli się na 3 kategorie:
unprotectedWeb
uwzględnia ogólny przypadek witryn, które użytkownicy odwiedzają bez podejmowania żadnych specjalnych działań. Jeśli nie określiszoriginTypes
, interfejs API domyślnie usunie dane z niechronionych źródeł internetowych.protectedWeb
obejmuje te źródła internetowe, które zostały zainstalowane jako aplikacje hostowane. Na przykład zainstalowanie aplikacji Angry Birds chroni źródłohttps://chrome.angrybirds.com
i usuwa ją z kategoriiunprotectedWeb
. Zachowaj ostrożność przy uruchamianiu usuwania danych z tych źródeł: poinformuj użytkowników, czego uzyskują dostęp, ponieważ spowoduje to trwałe usunięcie ich danych z gier. Nikt nie chce pukać miniaturowych świni częściej, niż jest to konieczne.extension
obejmuje źródła w ramach schematuchrome-extensions:
. Ponownie trzeba uważać na usunięcie danych rozszerzenia.
Możemy zmienić poprzedni przykład tak, aby usunąć dane tylko z chronionych witryn w ten sposób:
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);
Przykłady
Aby go wypróbować, zainstaluj przykładowy interfejs PrzeglądajData API z repozytorium chrome-extension-samples.
Typy
DataTypeSet
Zbiór typów danych. Brakujące typy danych są interpretowane jako false
.
Właściwości
-
pamięć podręczna aplikacji
wartość logiczna opcjonalna
Pamięć podręczna aplikacji na stronach internetowych.
-
Pamięć podręczna
wartość logiczna opcjonalna
Pamięć podręczna przeglądarki.
-
cacheStorage
wartość logiczna opcjonalna
Chrome 72 i nowsze wersjePamięć podręczna
-
ciastka
wartość logiczna opcjonalna
Pliki cookie przeglądarki.
-
pobrane
wartość logiczna opcjonalna
Lista pobierania przeglądarki.
-
fileSystems
wartość logiczna opcjonalna
Systemy plików witryn.
-
formData
wartość logiczna opcjonalna
Zapisane przez przeglądarkę dane formularzy.
-
historia
wartość logiczna opcjonalna
Historia przeglądarki.
-
indexedDB
wartość logiczna opcjonalna
Dane IndexedDB witryn.
-
localStorage
wartość logiczna opcjonalna
Dane dotyczące pamięci lokalnej witryn.
-
hasła
wartość logiczna opcjonalna
Zapisane hasła.
-
pluginData
wartość logiczna opcjonalna
Wycofane od Chrome 88Wycofaliśmy obsługę Flasha. Ten typ danych będzie ignorowany.
Dane wtyczek.
-
serverBoundCertificates
wartość logiczna opcjonalna
Wycofana od Chrome 76Wycofaliśmy obsługę certyfikatów powiązanych z serwerem. Ten typ danych będzie ignorowany.
Certyfikaty powiązane z serwerem.
-
serviceWorkers
wartość logiczna opcjonalna
Skrypty service worker.
-
webSQL
wartość logiczna opcjonalna
Dane WebSQL witryn.
RemovalOptions
Opcje określające, które dane zostaną usunięte.
Właściwości
-
excludeOrigins
string[] opcjonalny
Chrome 74 i nowszyJeśli występują, dane źródeł znajdujących się na tej liście nie są usuwane. Nazwy nie można używać razem z zasadą
origins
. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Pliki cookie są wykluczone dla całej domeny podlegającej rejestracji. -
originTypes
obiekt opcjonalnie
Obiekt, którego właściwości określają, które typy źródeł należy wyczyścić. Jeśli ten obiekt nie został określony, domyślnie usuwa się tylko „niechronione” źródła. Przed dodaniem wartości „ProtectedWeb” lub „extensions” sprawdź, czy na pewno chcesz usunąć dane aplikacji.
-
rozszerzenie
wartość logiczna opcjonalna
Rozszerzenia i aplikacje w pakiecie zainstalowane przez użytkownika (_really_ostrożnie!).
-
protectedWeb
wartość logiczna opcjonalna
Witryny, które zostały zainstalowane jako aplikacje hostowane (ostrożnie!).
-
unprotectedWeb
wartość logiczna opcjonalna
Zwykłe strony internetowe.
-
-
źródła
string[] opcjonalny
Chrome 74 i nowszyJeśli ta lista jest dostępna, zostaną usunięte tylko dane o źródłach znajdujących się na tej liście. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Zostaną usunięte pliki cookie z całej domeny, którą można zarejestrować.
-
od
Liczba opcjonalnie
Usuń dane zebrane tego dnia lub po tej dacie podane w milisekundach od początku epoki (dostępne za pomocą metody
getTime
w obiekcie JavaScriptDate
). Jeśli go nie ma, przyjmuje się wartość domyślną „0” (co powoduje usunięcie wszystkich danych przeglądania).
Metody
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
Usuwa różne typy danych przeglądania zapisanych w profilu użytkownika.
Parametry
-
Opcje
-
dataToRemove
Zbiór typów danych do usunięcia.
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
)
Usuwa dane z pamięci podręcznej aplikacji witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
)
Czyści pamięć podręczną przeglądarki.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Czyści dane stron internetowych w pamięci podręcznej.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
)
Usuwa pliki cookie przeglądarki i certyfikaty powiązane z serwerem, które zostały zmodyfikowane w określonym przedziale czasu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
Czyści listę pobranych plików w przeglądarce (nie samych pobranych plików).
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Czyści dane systemu plików witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
Czyści zapisane w przeglądarce dane formularzy (autouzupełnianie).
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
)
Czyści historię przeglądarki.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
)
Usuwa dane IndexedDB witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Czyści dane witryn zapisanych w pamięci lokalnej.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
Czyści hasła zapisane w przeglądarce.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Wycofaliśmy obsługę Flasha. Ta funkcja nie ma żadnego efektu.
Czyści dane wtyczek.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Usuwa mechanizmy service worker witryny.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
)
Usuwa dane WebSQL witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:()=>void
Akcje powrotne
-
Promise<void>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.
settings()
chrome.browsingData.settings(
callback?: function,
)
Raportuje typy danych aktualnie wybrane w interfejsie użytkownika ustawień „Wyczyść dane przeglądania”. Uwaga: niektóre typy danych w tym interfejsie API są niedostępne w interfejsie ustawień, a niektóre ustawienia tego interfejsu kontrolują więcej niż 1 wymieniony tutaj typ danych.
Parametry
-
wywołanie zwrotne
funkcja opcjonalnie
Parametr
callback
wygląda tak:(result: object)=>void
-
wynik
obiekt
-
dataRemovalPermitted
Wynik będzie zawierał wszystkie wymienione typy wartości z wartościami
true
, jeśli można je usunąć (np. ze względu na zasady przedsiębiorstwa), a w przeciwnym razie –false
. -
dataToRemove
Wynik będzie zawierał wszystkie typy danych. W przeciwnym razie zostaną użyte wartości
true
, jeśli wybrano ich do usunięcia i dopuszczono do ich usunięcia. W przeciwnym raziefalse
. -
Opcje
-
-
Akcje powrotne
-
Promise<object>
Chrome 96 i nowsze wersjeObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są dostępne na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica znika z tym samym typem, który jest przekazywany do wywołania zwrotnego.