chrome.browsingData

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ści originTypes, 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ło https://chrome.angrybirds.com i usunie je z kategorii unprotectedWeb. 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 schematu chrome-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 nowszy

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

    Wycofaliśmy obsługę technologii Flash. Ten typ danych zostanie zignorowany.

    Dane wtyczek.

  • serverBoundCertificates

    Wartość logiczna opcjonalna

    Wycofane od Chrome 76

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

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

    Jeś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 JavaScript Date). Jeśli atrybut nie jest podany, przyjmuje domyślnie wartość 0 (co powoduje usunięcie wszystkich danych przeglądania).

Metody

remove()

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

Czyści różne typy danych przeglądania zapisane w profilu użytkownika.

Parametry

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

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

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

Usuwa dane z pamięci podręcznej aplikacji stron internetowych.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

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

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

Obiecujemy Chrome 72 lub nowszy
chrome.browsingData.removeCacheStorage(
  options: RemovalOptions,
  callback?: function,
)

Usuwa dane z pamięci podręcznej witryn.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

Obiecujemy
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

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Usuwa listę pobranych plików z przeglądarki (nie same pliki).

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Usuwa dane systemu plików stron internetowych.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Usuwa zapisane w przeglądarce dane formularzy (autouzupełnianie).

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Czyści historię przeglądarki.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Usuwa dane IndexedDB witryn.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Usuwa dane z pamięci lokalnej witryn.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Czyści zapisane hasła przeglądarki.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Wycofaliśmy obsługę technologii Flash. Ta funkcja nie ma żadnych skutków.

Usuwa dane wtyczek.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

Obiecujemy Chrome 72 lub nowszy
chrome.browsingData.removeServiceWorkers(
  options: RemovalOptions,
  callback?: function,
)

Czyści mechanizmy Service Worker witryn.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

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

Usuwa dane WebSQL witryn.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Promise<void>

    Chrome 96 lub nowszy

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

Obiecujemy
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), lub false, 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 razie false.

Zwroty

  • Promise<object>

    Chrome 96 lub nowszy

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