chrome.browsingData

Opis

Aby usunąć dane przeglądania z lokalnego profilu użytkownika, użyj interfejsu API chrome.browsingData.

Uprawnienia

browsingData

Plik manifestu

Musisz zadeklarować plik „browsingData”. uprawnienia w pliku manifestu rozszerzenia na korzystanie z tego interfejsu API.

{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}

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 użytkownik dane przeglądania powinny zostać usunięte. Ta sygnatura czasowa jest podana jako liczba milisekund od czasu wywołania epoka uniksowa (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ć kod następujące:

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ą tagu i będzie to trwało znacznie szybciej niż wywoływanie wielu bardziej konkretnych metod. Jeśli jednak chcesz usunąć tylko określony typ danych przeglądania (np. pliki cookie), im bardziej szczegółowy to czytelna alternatywa dla wywołania zawierającego kod 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 automatycznie ponownie utworzyć plik cookie po wyczyszczeniu konta synchronizacji. Zapewni to nieprzerwane działanie synchronizacji i może dojść do ich usunięcia z serwera. Jednak im bardziej szczegółowe Za pomocą chrome.browsingData.removeCookies można usunąć pliki cookie na koncie synchronizacji oraz zostanie w tym przypadku wstrzymany.

Określone źródła

Aby usunąć dane z określonego źródła lub wykluczyć zbiór źródeł, możesz użyć funkcji Parametry RemovalOptions.origins i RemovalOptions.excludeOrigins. Można je stosować tylko do pliki cookie, pamięć podręczna oraz pamięć masową (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 źródeł

Dodanie właściwości originTypes do obiektu options interfejsu API umożliwia określenie typów i źródeł danych. Obecnie źródła dzielą się na 3 kategorie:

  • unprotectedWeb obejmuje ogólny przypadek witryn odwiedzanych przez użytkowników, nie uwzględniając przy tym żadnych szczególnych działania. Jeśli nie określisz wartości originTypes, interfejs API domyślnie usunie dane z niechronionych danych. źródeł witryn.
  • 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 oraz zostanie usunięte z kategorii unprotectedWeb. Zachowaj ostrożność podczas usuwania tych źródeł: upewnij się, że użytkownicy wiedzą, co otrzymują, ponieważ taka sytuacja będzie nieodwracalna usunąć dane gry. 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:. Usunięcie danych rozszerzenia jest następujące: znowu jest coś, na co należy bardzo uważać.

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 ze strony chrome-extension-samples. z repozytorium.

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

    Witryny pamięci podręcznej aplikacji.

  • Pamięć podręczna

    Wartość logiczna opcjonalna

    Pamięć podręczna przeglądarki.

  • cacheStorage

    Wartość logiczna opcjonalna

    Chrome w wersji 72 lub nowszej .

    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

    Witryny do systemów plików.

  • formData

    Wartość logiczna opcjonalna

    Dane formularzy przechowywane przez przeglądarkę.

  • historia

    Wartość logiczna opcjonalna

    historię przeglądarki;

  • indexedDB

    Wartość logiczna opcjonalna

    Witryny Dane IndexedDB.

  • localStorage

    Wartość logiczna opcjonalna

    Witryny pamięci lokalnej.

  • hasła

    Wartość logiczna opcjonalna

    Zapisane hasła.

  • pluginData

    Wartość logiczna opcjonalna

    Wycofane od Chrome 88

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

    Wtyczki i skalowalnych danych.

  • 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

    Witryny danych WebSQL.

RemovalOptions

Opcje, które dokładnie określają, jakie dane zostaną usunięte.

Właściwości

  • excludeOrigins

    string[] opcjonalnie

    Chrome w wersji 74 lub nowszej .

    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 stan „niezabezpieczony” źródeł. Przed dodaniem elementu „ProtectWeb” upewnij się, że naprawdę chcesz usunąć dane aplikacji. lub „extensions”.

    • 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

    [ciąg, ...ciąg[]] opcjonalny

    Chrome w wersji 74 lub nowszej .

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

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

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeAppcache()

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

Usuwa witryny danych appcache.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeCache()

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

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeCacheStorage()

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

Usuwa witryny dane w pamięci podręcznej.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeCookies()

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

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeDownloads()

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

Powoduje wyczyszczenie listy pobranych plików w przeglądarce (nie samych pobranych plików).

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeFileSystems()

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

Usuwa witryny danych systemu plików.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeFormData()

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

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeHistory()

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

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeIndexedDB()

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

Usuwa witryny Dane IndexedDB.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeLocalStorage()

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

Usuwa witryny pamięci lokalnej.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removePasswords()

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

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removePluginData()

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

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

Usuwa wtyczki i skalowalnych danych.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeServiceWorkers()

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

Usuwa witryny mechanizmy Service Worker.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

removeWebSQL()

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

Usuwa witryny danych WebSQL.

Parametry

  • wywołanie zwrotne

    funkcja optional

    Parametr callback wygląda tak:

    () => void

Zwroty

  • Obietnica<void>

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.

settings()

Obietnica .
chrome.browsingData.settings(
  callback?: function,
)

Raportuje, jakie typy danych są obecnie zaznaczone w obszarze „Wyczyść dane przeglądania” ustawień. 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&lt;object&gt;

    Chrome w wersji 96 lub nowszej, .

    Obietnice są obsługiwane tylko na platformie Manifest V3 i nowszych, inne platformy muszą używać wywołań zwrotnych.