browser.browsingData

Opis

Użyj interfejsu API chrome.browsingData, aby usunąć dane przeglądania z profilu lokalnego 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 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:

  • unprotectedWeb obejmuje ogólny przypadek witryn, które użytkownicy odwiedzają bez podejmowania żadnych specjalnych działań. Jeśli nie określisz parametru originTypes, interfejs API domyślnie usunie dane z niechronionych originów stron.
  • protectedWeb obejmuje te originy stron, które zostały zainstalowane jako aplikacje hostowane. Na przykład zainstalowanie gry Angry Birds chroni źródło https://chrome.angrybirds.com i usuwa je z kategorii unprotectedWeb. 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.
  • extension obejmuje źródła w schemacie chrome-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 152

    Obsł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 148

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

    Usunięto obsługę usuwania haseł za pomocą rozszerzeń. Ten typ danych zostanie zignorowany.

    Zapisane hasła.

  • pluginData

    boolean opcjonalne

    Wycofane od wersji Chrome 88

    Obsługa Flasha została usunięta. Ten typ danych zostanie zignorowany.

    Dane wtyczek.

  • serverBoundCertificates

    boolean opcjonalne

    Wycofane od wersji Chrome 76

    Usunę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 152

    Obsł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 148

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

    Jeś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 getTime obiektu JavaScript Date). 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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Zostanie rozwiązany po zakończeniu usuwania.

removeAppcache()

Wycofane od wersji Chrome 152
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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem po wyczyszczeniu pamięci podręcznej przeglądarki.

removeCacheStorage()

Chrome 72 lub nowsza browser.* od Chrome 148
browser.browsingData.removeCacheStorage(
  options: RemovalOptions,
)
: Promise<void>

Czyści dane z pamięci podręcznej witryn.

Parametry

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem, gdy dane formularza przeglądarki zostaną wyczyszczone.

removeHistory()

browser.browsingData.removeHistory(
  options: RemovalOptions,
)
: Promise<void>

Czyści historię przeglądarki.

Parametry

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem po wyczyszczeniu historii przeglądarki.

removeIndexedDB()

browser.browsingData.removeIndexedDB(
  options: RemovalOptions,
)
: Promise<void>

Usuwa dane IndexedDB witryn.

Parametry

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem po wyczyszczeniu pamięci lokalnej witryn.

removePasswords()

Wycofane od Chrome 144
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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem, gdy hasła w przeglądarce zostały wyczyszczone.

removePluginData()

Wycofane od wersji Chrome 88
browser.browsingData.removePluginData(
  options: RemovalOptions,
)
: Promise<void>

Obsługa Flasha została usunięta. Ta funkcja nie ma żadnego efektu.

Usuwa dane wtyczek.

Parametry

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem po wyczyszczeniu danych wtyczek.

removeServiceWorkers()

Chrome 72 lub nowsza browser.* od Chrome 148
browser.browsingData.removeServiceWorkers(
  options: RemovalOptions,
)
: Promise<void>

Usuwa skrypty service worker witryn.

Parametry

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwiązuje problem po wyczyszczeniu skryptów service worker witryn.

removeWebSQL()

Wycofane od wersji Chrome 152
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

Zwroty

  • thought Promise<void>

    Chrome 96 lub nowsza wersja browser.* od Chrome 148

    Rozwią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