chrome.browsingData

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ślisz originTypes, 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ło https://chrome.angrybirds.com i usuwa ją z kategorii unprotectedWeb. 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 schematu chrome-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 wersje

    Pamięć 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 88

    Wycofaliśmy obsługę Flasha. Ten typ danych będzie ignorowany.

    Dane wtyczek.

  • serverBoundCertificates

    wartość logiczna opcjonalna

    Wycofana od Chrome 76

    Wycofaliś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 nowszy

    Jeś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 nowszy

    Jeś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 JavaScript Date). Jeśli go nie ma, przyjmuje się wartość domyślną „0” (co powoduje usunięcie wszystkich danych przeglądania).

Metody

remove()

Obietnica
chrome.browsingData.remove(
  options: RemovalOptions,
  dataToRemove: DataTypeSet,
  callback?: function,
)

Usuwa różne typy danych przeglądania zapisanych w profilu użytkownika.

Parametry

  • 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 wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeAppcache(
  options: RemovalOptions,
  callback?: function,
)

Usuwa dane z pamięci podręcznej aplikacji witryn.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeCache(
  options: RemovalOptions,
  callback?: function,
)

Czyści pamięć podręczną przeglądarki.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica Chrome w wersji 72 lub nowszej
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Czyści dane stron internetowych w pamięci podręcznej.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
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

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeDownloads(
  options: RemovalOptions,
  callback?: function,
)

Czyści listę pobranych plików w przeglądarce (nie samych pobranych plików).

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeFileSystems(
  options: RemovalOptions,
  callback?: function,
)

Czyści dane systemu plików witryn.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeFormData(
  options: RemovalOptions,
  callback?: function,
)

Czyści zapisane w przeglądarce dane formularzy (autouzupełnianie).

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeHistory(
  options: RemovalOptions,
  callback?: function,
)

Czyści historię przeglądarki.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeIndexedDB(
  options: RemovalOptions,
  callback?: function,
)

Usuwa dane IndexedDB witryn.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeLocalStorage(
  options: RemovalOptions,
  callback?: function,
)

Czyści dane witryn zapisanych w pamięci lokalnej.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removePasswords(
  options: RemovalOptions,
  callback?: function,
)

Czyści hasła zapisane w przeglądarce.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica wycofana od Chrome 88
chrome.browsingData.removePluginData(
  options: RemovalOptions,
  callback?: function,
)

Wycofaliśmy obsługę Flasha. Ta funkcja nie ma żadnego efektu.

Czyści dane wtyczek.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica Chrome w wersji 72 lub nowszej
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Usuwa mechanizmy service worker witryny.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
chrome.browsingData.removeWebSQL(
  options: RemovalOptions,
  callback?: function,
)

Usuwa dane WebSQL witryn.

Parametry

  • wywołanie zwrotne

    funkcja opcjonalnie

    Parametr callback wygląda tak:

    ()=>void

Akcje powrotne

  • Promise<void>

    Chrome 96 i nowsze wersje

    Obietnice 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()

Obietnica
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 razie false.

Akcje powrotne

  • Promise<object>

    Chrome 96 i nowsze wersje

    Obietnice 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.