Opis
Aby usunąć dane przeglądania z lokalnego profilu użytkownika, użyj interfejsu API chrome.browsingData
.
Uprawnienia
browsingData
Aby używać tego interfejsu API, musisz zadeklarować uprawnienia "browsingData"
w pliku manifestu rozszerzenia.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Pojęcia i wykorzystanie
Najprostszym przypadkiem użycia tego interfejsu API jest ograniczony czasowo mechanizm do czyszczenia danych przeglądania użytkownika.
Kod powinien zawierać sygnaturę czasową, która wskazuje datę historyczną, po której dane przeglądania powinny zostać usunięte. Sygnatura czasowa jest podana jako liczba milisekund od początku epoki uniksowej (którą można pobrać z obiektu Date
JavaScriptu za pomocą metody getTime()
).
Aby na przykład usunąć wszystkie dane przeglądania użytkownika z ostatniego tygodnia, możesz wpisać następujący 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()
pozwala usuwać różne typy danych przeglądania za pomocą jednego wywołania i jest znacznie szybsza niż wywoływanie wielu bardziej konkretnych metod. Jeśli jednak chcesz wyczyścić tylko jeden typ danych przeglądania (np. pliki cookie), bardziej szczegółowe metody oferują czytelną alternatywę dla wywołania zapisanego w formacie 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, chrome.browsingData.remove()
może po wyczyszczeniu automatycznie utworzyć ponownie plik cookie konta synchronizacji. Dzięki temu synchronizacja będzie kontynuowana i umożliwi usunięcie danych z serwera. Jednak bardziej szczegółowe dane chrome.browsingData.removeCookies()
mogą być użyte do usunięcia pliku cookie konta Sync, co spowoduje wstrzymanie synchronizacji.
Określone źródła
Aby usunąć dane z określonego źródła lub wykluczyć zbiór źródeł z możliwości ich 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 oraz pamięci masowej (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 opcji interfejsów API pozwala określić typy źródeł, których ma dotyczyć zmiana. Źródła dzielą się na 3 kategorie:
unprotectedWeb
obejmuje ogólny przypadek witryn odwiedzanych przez użytkowników bez wykonywania żadnych specjalnych działań. Jeśli nie określisz wartościoriginTypes
, interfejs API domyślnie usunie dane z niechronionych źródeł internetowych.- Reguła
protectedWeb
obejmuje te źródła internetowe, które zostały zainstalowane jako hostowane aplikacje. Na przykład zainstalowanie gry Angry Birds chroni źródłohttps://chrome.angrybirds.com
i usunie je z kategoriiunprotectedWeb
. Zachowaj ostrożność przy usuwaniu danych z tych źródeł: upewnij się, że użytkownicy wiedzą, z czego korzystają, ponieważ spowoduje to trwałe usunięcie danych ich gier. Nikt nie lubi pukać małych świń do komnat częściej, niż jest to konieczne. extension
obejmuje źródła w ramach schematuchrome-extensions:
. Podczas usuwania danych rozszerzeń należy zachować ostrożność.
Mogliśmy dostosować poprzedni przykład tak, aby usuwać tylko dane z chronionych witryn:
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 wypróbować ten interfejs API, zainstaluj przykładowy interfejs API przeglądania 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 stron internetowych.
-
Pamięć podręczna
Wartość logiczna opcjonalna
Pamięć podręczna przeglądarki.
-
cacheStorage
Wartość logiczna opcjonalna
Chrome 72 lub nowszyPamięć podręczna
-
ciastka
Wartość logiczna opcjonalna
Pliki cookie przeglądarki.
-
pobrane
Wartość logiczna opcjonalna
Lista pobranych plików w przeglądarce.
-
fileSystems
Wartość logiczna opcjonalna
Systemy plików witryn.
-
formData
Wartość logiczna opcjonalna
Dane formularzy przechowywane przez przeglądarkę.
-
historia
Wartość logiczna opcjonalna
historię przeglądarki;
-
indexedDB
Wartość logiczna opcjonalna
Dane IndexedDB witryn.
-
localStorage
Wartość logiczna opcjonalna
Dane witryn w pamięci lokalnej.
-
hasła
Wartość logiczna opcjonalna
Zapisane hasła.
-
pluginData
Wartość logiczna opcjonalna
Funkcja wycofana od wersji Chrome 88Wycofaliśmy obsługę technologii Flash. Ten typ danych zostanie zignorowany.
Dane wtyczek.
-
serverBoundCertificates
Wartość logiczna opcjonalna
Wycofane od Chrome 76Wprowadziliśmy obsługę certyfikatów powiązanych z serwerem. Ten typ danych zostanie zignorowany.
Certyfikaty powiązane z serwerem.
-
serviceWorkers
Wartość logiczna opcjonalna
Skrypty service worker.
-
webSQL
Wartość logiczna opcjonalna
danych WebSQL witryn.
RemovalOptions
Opcje, które dokładnie określają, jakie dane zostaną usunięte.
Właściwości
-
excludeOrigins
string[] opcjonalnie
Chrome 74 lub nowszyJeśli dane źródła są obecne na tej liście, nie można ich usunąć. Nie mogą być używane razem z usługą
origins
. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Pliki cookie są wykluczane dla całej domeny, którą można zarejestrować. -
originTypes
obiekt opcjonalny
Obiekt, którego właściwości określają, które typy źródeł powinny zostać wyczyszczone. Jeśli ten obiekt nie jest określony, domyślnie usuwany jest tylko „niechronione” źródła. Przed dodaniem elementu „ProtectWeb” lub „extensions” upewnij się, że naprawdę chcesz usunąć dane aplikacji.
-
rozszerzenie
Wartość logiczna opcjonalna
Rozszerzenia i aplikacje w pakietach zainstalowane przez użytkownika (_really_ zachowaj ostrożność).
-
protectedWeb
Wartość logiczna opcjonalna
Witryny, które zostały zainstalowane jako aplikacje hostowane (zachowaj ostrożność).
-
unprotectedWeb
Wartość logiczna opcjonalna
Zwykłe witryny.
-
-
punkty początkowe
[string, ...string[]] optional
Chrome 74 lub nowszyJeśli ta opcja jest dostępna, usuwane są tylko dane dotyczące źródeł na tej liście. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Pliki cookie są usuwane dla całej domeny, którą można zarejestrować.
-
od
liczba opcjonalnie
Usuń dane zgromadzone w tym dniu lub później, wyrażone w milisekundach od początku epoki (dostępne za pomocą metody
getTime
obiektu JavaScriptDate
). Jeśli atrybut nie jest podany, przyjmuje domyślnie wartość 0 (co powoduje usunięcie wszystkich danych przeglądania).
Metody
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
)
Czyści różne typy danych przeglądania zapisane w profilu użytkownika.
Parametry
-
Opcje
-
dataToRemove
Zbiór typów danych do usunięcia.
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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 stron internetowych.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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 optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
)
Usuwa dane z pamięci podręcznej witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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 zmodyfikowane w określonym przedziale czasu.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
)
Usuwa listę pobranych plików z przeglądarki (nie same pliki).
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
)
Usuwa dane systemu plików stron internetowych.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
)
Usuwa zapisane w przeglądarce dane formularzy (autouzupełnianie).
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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 optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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 optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
)
Usuwa dane z pamięci lokalnej witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
)
Czyści zapisane hasła przeglądarki.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
)
Wycofaliśmy obsługę technologii Flash. Ta funkcja nie ma żadnych skutków.
Usuwa dane wtyczek.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
)
Czyści mechanizmy Service Worker witryn.
Parametry
-
Opcje
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana 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 optional
Parametr
callback
wygląda tak:() => void
Zwroty
-
Promise<void>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.
settings()
chrome.browsingData.settings(
callback?: function,
)
Raporty, które typy danych są obecnie wybrane w interfejsie ustawień „Wyczyść dane przeglądania”. Uwaga: niektóre typy danych w tym interfejsie API nie są dostępne w interfejsie ustawień, a niektóre ustawienia interfejsu pozwalają zarządzać więcej niż jednym typem danych wymienionym w tym miejscu.
Parametry
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(result: object) => void
-
wynik
obiekt
-
dataRemovalPermitted
W wyniku będą występować wszystkie typy tych typów z wartościami
true
, jeśli można je usunąć (np. przez zasadę przedsiębiorstwa), lubfalse
, jeśli nie jest to możliwe. -
dataToRemove
W wyniku będą obecne wszystkie typy z wartością
true
, jeśli obie zostaną wybrane i można je usunąć. W przeciwnym raziefalse
. -
Opcje
-
-
Zwroty
-
Promise<object>
Chrome 96 lub nowszyObietnice są obsługiwane w platformie Manifest V3 i nowszych, ale wywołania zwrotne są obsługiwane na potrzeby zgodności wstecznej. Nie można użyć obu w tym samym wywołaniu funkcji. Obietnica jest realizowana z tym samym typem, który jest przekazywany do wywołania zwrotnego.