Opis
Użyj interfejsu API chrome.browsingData, aby usunąć dane przeglądania z profilu lokalnego użytkownika.
Uprawnienia
browsingDataAby używać tego interfejsu API, musisz zadeklarować uprawnienie "browsingData" w pliku manifestu rozszerzenia.
{
"name": "My extension",
...
"permissions": [
"browsingData",
],
...
}
Pojęcia i użycie
Najprostszym przypadkiem użycia tego interfejsu API jest mechanizm oparty na czasie, który służy do czyszczenia danych przeglądania użytkownika.
Kod powinien zawierać sygnaturę czasową, która wskazuje datę historyczną, po której dane przeglądania użytkownika 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 na przykład wyczyścić wszystkie dane przeglądania użytkownika z ostatniego tygodnia, możesz napisać taki 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;
browser.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 browser.browsingData.remove() umożliwia usunięcie różnych typów danych przeglądania za pomocą 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;
browser.browsingData.removeCookies({
"since": oneWeekAgo
}, callback);
Jeśli użytkownik synchronizuje swoje dane, browser.browsingData.remove() może automatycznie odtworzyć plik cookie konta synchronizacji po jego wyczyszczeniu. Dzięki temu synchronizacja będzie mogła nadal działać, a dane zostaną ostatecznie usunięte z serwera. Można jednak użyć bardziej szczegółowego browser.browsingData.removeCookies(), aby usunąć plik cookie konta synchronizacji. W takim przypadku synchronizacja zostanie wstrzymana.
Określone źródła
Aby usunąć dane dotyczące konkretnego źródła lub wykluczyć zestaw źródeł z usuwania, 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 masowej (CacheStorage, FileSystems, IndexedDB, LocalStorage, ServiceWorkers i WebSQL).
browser.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ć, na które typy źródeł ma to wpływać. Źródła są podzielone na 3 kategorie:
unprotectedWebobejmuje ogólny przypadek witryn, które użytkownicy odwiedzają bez podejmowania żadnych specjalnych działań. Jeśli nie określisz parametruoriginTypes, interfejs API domyślnie usunie dane z niechronionych originów stron.protectedWebobejmuje te originy stron, które zostały zainstalowane jako aplikacje hostowane. Na przykład zainstalowanie gry Angry Birds chroni źródłohttps://chrome.angrybirds.comi usuwa je z kategoriiunprotectedWeb. Zachowaj ostrożność podczas usuwania danych z tych źródeł: upewnij się, że użytkownicy wiedzą, co się stanie, ponieważ spowoduje to nieodwracalne usunięcie ich danych gry. Nikt nie chce burzyć domków świnek częściej, niż jest to konieczne.extensionobejmuje źródła w schemaciechrome-extensions:. Usuwanie danych rozszerzenia to kolejna czynność, którą należy wykonywać z dużą ostrożnością.
Możemy dostosować poprzedni przykład, aby usunąć 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;
browser.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ład interfejsu browsingData API z repozytorium chrome-extension-samples.
Typy
DataTypeSet
Zestaw typów danych. Brakujące typy danych są interpretowane jako false.
Właściwości
-
appcache
boolean opcjonalne
Wycofane od wersji Chrome 152Obsługa pamięci podręcznej aplikacji została usunięta. Ten typ danych zostanie zignorowany.
Pamięci podręczne aplikacji witryn.
-
Pamięć podręczna
boolean opcjonalne
pamięć podręczna przeglądarki,
-
cacheStorage
boolean opcjonalne
Chrome 72 lub nowsza browser.* od Chrome 148Pamięć podręczna
-
ciasteczka
boolean opcjonalne
Pliki cookie przeglądarki.
-
pobrane
boolean opcjonalne
Lista pobranych plików w przeglądarce.
-
fileSystems
boolean opcjonalne
systemów plików witryn,
-
formData
boolean opcjonalne
Dane formularzy przechowywane przez przeglądarkę.
-
historia
boolean opcjonalne
historia przeglądarki,
-
indexedDB
boolean opcjonalne
Dane IndexedDB witryn.
-
localStorage
boolean opcjonalne
dane zapisane w pamięci lokalnej witryn;
-
hasła
boolean opcjonalne
Wycofane od Chrome 144Usunięto obsługę usuwania haseł za pomocą rozszerzeń. Ten typ danych zostanie zignorowany.
Zapisane hasła.
-
pluginData
boolean opcjonalne
Wycofane od wersji Chrome 88Obsługa Flasha została usunięta. Ten typ danych zostanie zignorowany.
Dane wtyczek.
-
serverBoundCertificates
boolean opcjonalne
Wycofane od wersji Chrome 76Usunęliśmy obsługę certyfikatów powiązanych z serwerem. Ten typ danych zostanie zignorowany.
Certyfikaty powiązane z serwerem.
-
serviceWorkers
boolean opcjonalne
Skrypty service worker.
-
webSQL
boolean opcjonalne
Wycofane od wersji Chrome 152Obsługa WebSQL została usunięta. Ten typ danych zostanie zignorowany.
dane WebSQL witryn;
RemovalOptions
Opcje, które określają, jakie dane zostaną usunięte.
Właściwości
-
excludeOrigins
string[] opcjonalne
Chrome 74 lub nowsza browser.* od Chrome 148Jeśli ta zasada jest skonfigurowana, dane dotyczące źródeł z tej listy nie są usuwane. Nie można używać razem z:
origins. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Pliki cookie są wykluczone dla całej domeny, którą można zarejestrować. -
originTypes
object 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 czyszczone są tylko „niechronione” źródła. Zanim dodasz „protectedWeb” lub „extensions”, upewnij się, że naprawdę chcesz usunąć dane aplikacji.
-
rozszerzenie
boolean opcjonalne
rozszerzenia i aplikacje spakowane zainstalowane przez użytkownika (zachowaj _szczególną_ ostrożność).
-
protectedWeb
boolean opcjonalne
witryny zainstalowane jako aplikacje hostowane (zachowaj ostrożność).
-
unprotectedWeb
boolean opcjonalne
Zwykłe witryny.
-
-
źródła
[string, ...string[]] opcjonalny
Chrome 74 lub nowsza browser.* od Chrome 148Jeśli jest obecna, usuwane są tylko dane dotyczące źródeł z tej listy. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Pliki cookie są usuwane z całej domeny, którą można zarejestrować.
-
od
number optional
Usuń dane zgromadzone w tym dniu lub później, wyrażone w milisekundach od początku epoki (dostępne za pomocą metody
getTimeobiektu JavaScriptDate). Jeśli nie zostanie podana, przyjmuje domyślnie wartość 0 (co spowoduje usunięcie wszystkich danych przeglądania).
Metody
remove()
browser.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
): Promise<void>
Czyści różne typy danych przeglądania przechowywane w profilu użytkownika.
Parametry
-
Opcje
-
dataToRemove
Zbiór typów danych do usunięcia.
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Zostanie rozwiązany po zakończeniu usuwania.
removeAppcache()
browser.browsingData.removeAppcache(
options: RemovalOptions,
): Promise<void>
Obsługa pamięci podręcznej aplikacji została usunięta. Ta funkcja nie ma żadnego efektu.
Czyści dane pamięci podręcznej aplikacji witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu danych pamięci podręcznej aplikacji witryn.
removeCache()
browser.browsingData.removeCache(
options: RemovalOptions,
): Promise<void>
Czyszczenie pamięci podręcznej przeglądarki.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu pamięci podręcznej przeglądarki.
removeCacheStorage()
browser.browsingData.removeCacheStorage(
options: RemovalOptions,
): Promise<void>
Czyści dane z pamięci podręcznej witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu pamięci podręcznej witryn.
removeCookies()
browser.browsingData.removeCookies(
options: RemovalOptions,
): Promise<void>
Usuwa pliki cookie przeglądarki i certyfikaty powiązane z serwerem zmodyfikowane w określonym przedziale czasu.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem, gdy pliki cookie przeglądarki i certyfikaty powiązane z serwerem zostaną wyczyszczone.
removeDownloads()
browser.browsingData.removeDownloads(
options: RemovalOptions,
): Promise<void>
Czyści listę pobranych plików w przeglądarce (nie same pobrane pliki).
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem, gdy lista pobranych plików w przeglądarce zostanie wyczyszczona.
removeFileSystems()
browser.browsingData.removeFileSystems(
options: RemovalOptions,
): Promise<void>
Czyści dane systemu plików witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu systemów plików witryn.
removeFormData()
browser.browsingData.removeFormData(
options: RemovalOptions,
): Promise<void>
Usuwa dane formularzy zapisane w przeglądarce (autouzupełnianie).
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem, gdy dane formularza przeglądarki zostaną wyczyszczone.
removeHistory()
browser.browsingData.removeHistory(
options: RemovalOptions,
): Promise<void>
Czyści historię przeglądarki.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu historii przeglądarki.
removeIndexedDB()
browser.browsingData.removeIndexedDB(
options: RemovalOptions,
): Promise<void>
Usuwa dane IndexedDB witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem, gdy dane IndexedDB witryn zostały wyczyszczone.
removeLocalStorage()
browser.browsingData.removeLocalStorage(
options: RemovalOptions,
): Promise<void>
Usuwa dane z pamięci lokalnej witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu pamięci lokalnej witryn.
removePasswords()
browser.browsingData.removePasswords(
options: RemovalOptions,
): Promise<void>
Usunięto obsługę usuwania haseł za pomocą rozszerzeń. Ta funkcja nie ma żadnego efektu.
Usuwa hasła zapisane w przeglądarce.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem, gdy hasła w przeglądarce zostały wyczyszczone.
removePluginData()
browser.browsingData.removePluginData(
options: RemovalOptions,
): Promise<void>
Obsługa Flasha została usunięta. Ta funkcja nie ma żadnego efektu.
Usuwa dane wtyczek.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu danych wtyczek.
removeServiceWorkers()
browser.browsingData.removeServiceWorkers(
options: RemovalOptions,
): Promise<void>
Usuwa skrypty service worker witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu skryptów service worker witryn.
removeWebSQL()
browser.browsingData.removeWebSQL(
options: RemovalOptions,
): Promise<void>
Obsługa WebSQL została usunięta. Ta funkcja nie ma żadnego efektu.
Usuwa dane WebSQL witryn.
Parametry
-
Opcje
Zwroty
-
thought Promise<void>
Chrome 96 lub nowsza wersja browser.* od Chrome 148Rozwiązuje problem po wyczyszczeniu baz danych WebSQL witryn.
settings()
browser.browsingData.settings(): Promise<object>
Raportuje, które typy danych są obecnie wybrane w interfejsie ustawień „Wyczyść dane przeglądania”. Uwaga: niektóre typy danych uwzględnione w tym interfejsie API są niedostępne w interfejsie ustawień, a niektóre ustawienia interfejsu sterują więcej niż 1 typem danych wymienionym tutaj.
Zwroty
-
Promise<object>
Chrome 96 lub nowsza wersja browser.* od Chrome 148