Opis
użyć interfejsu chrome.browsingData API, aby usunąć dane przeglądania z lokalnego profilu użytkownika;
Uprawnienia
browsingDataPlik manifestu
Aby korzystać z tego interfejsu API, musisz zadeklarować uprawnienie „browsingData” w pliku manifestu rozszerzenia.
{
  "name": "My extension",
  ...
  "permissions": [
    "browsingData",
  ],
  ...
}
Wykorzystanie
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ą wskazującą 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 systemu Unix (którą można pobrać z obiektu Date JavaScript za pomocą metody getTime).
Aby na przykład wyczyścić wszystkie dane przeglądania użytkownika z ostatniego tygodnia, możesz napisać kod 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
}, {
  "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 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 kodem 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 odbudować plik cookie na potrzeby konta synchronizacji po jego wyczyszczeniu. Dzięki temu synchronizacja będzie nadal działać, a dane będzie można ostatecznie usunąć z serwera. Jednak bardziej szczegółowe chrome.browsingData.removeCookies może służyć do wyczyszczenia pliku cookie konta synchronizacji, a synchronizacja zostanie w tym przypadku wstrzymana.
Określone punkty początkowe
Aby usunąć dane dotyczące konkretnego pochodzenia lub wykluczyć z usuwania zestaw pochodzeń, 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).
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 interfejsu API umożliwia określenie typów źródeł, których ma dotyczyć ta zmiana. Obecnie pochodzenia 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 parametru- originTypes, interfejs API domyślnie usunie dane z niechronionych źródeł internetowych.
- protectedWebobejmuje źródła internetowe, które zostały zainstalowane jako aplikacje hostowane. Na przykład zainstalowanie gry Angry Birds chroni źródło- https://chrome.angrybirds.comi usuwa je z kategorii- unprotectedWeb. Zachowaj ostrożność podczas wywoływania usuwania danych z tych źródeł. Upewnij się, że użytkownicy wiedzą, co się stanie, ponieważ spowoduje to nieodwracalne usunięcie danych z gry. Nikt nie chce przewracać małych domków świnek częściej niż to konieczne.
- extensionobejmuje źródła w schemacie- chrome-extensions:. Usuwanie danych rozszerzenia to, powtórzmy, coś, do czego należy podchodzić z dużą ostrożnością.
Poprzedni przykład możemy zmodyfikować 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ład interfejsu browsingData 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
- 
    appcachewartość logiczna opcjonalna pamięci podręczne aplikacji witryn, 
- 
    Pamięć podręcznawartość logiczna opcjonalna pamięć podręczna przeglądarki; 
- 
    cacheStoragewartość logiczna opcjonalna Chrome 72 lub nowszaPamięć podręczna 
- 
    ciastkawartość logiczna opcjonalna pliki cookie przeglądarki, 
- 
    pobranewartość logiczna opcjonalna listę pobierania w przeglądarce; 
- 
    fileSystemswartość logiczna opcjonalna systemy plików witryn, 
- 
    formDatawartość logiczna opcjonalna Dane formularzy zapisane w przeglądarce. 
- 
    historiawartość logiczna opcjonalna historia przeglądarki, 
- 
    indexedDBwartość logiczna opcjonalna dane IndexedDB witryn, 
- 
    localStoragewartość logiczna opcjonalna dane przechowywane lokalnie przez witryny; 
- 
    hasławartość logiczna opcjonalna zapisane hasła, 
- 
    pluginDatawartość logiczna opcjonalna Wycofane w Chrome 88Obsługa technologii Flash została usunięta. Ten typ danych zostanie zignorowany. dane wtyczek, 
- 
    serverBoundCertificateswartość logiczna opcjonalna Wycofane w Chrome 76Obsługa certyfikatów powiązanych z serwerem została usunięta. Ten typ danych zostanie zignorowany. certyfikaty powiązane z serwerem, 
- 
    serviceWorkerswartość logiczna opcjonalna Skrypty service worker. 
- 
    webSQLwartość logiczna opcjonalna dane WebSQL witryn, 
RemovalOptions
Opcje, które określają, jakie dane zostaną usunięte.
Właściwości
- 
    excludeOriginsstring[] opcjonalne Chrome 74 lub nowszaJeśli ta lista jest dostępna, dane dotyczące źródeł na niej wymienionych nie są usuwane. Nie można używać razem z usługą origins. Obsługiwane tylko w przypadku plików cookie, pamięci i pamięci podręcznej. Pliki cookie są wykluczane w przypadku całej domeny podlegającej rejestracji.
- 
    originTypesobiekt opcjonalny Obiekt, którego właściwości określają, które typy pochodzenia powinny zostać wyczyszczone. Jeśli ten obiekt nie zostanie określony, domyślnie wyczyszczone zostaną tylko „niechronione” źródła. Zanim dodasz „protectedWeb” lub „extensions”, upewnij się, że na pewno chcesz usunąć dane aplikacji. - 
    rozszerzeniewartość logiczna opcjonalna rozszerzenia i aplikacje pakietowe zainstalowane przez użytkownika (zachowaj _szczególną_ ostrożność); 
- 
    protectedWebwartość logiczna opcjonalna Witryny zainstalowane jako aplikacje hostowane (zachowaj ostrożność!). 
- 
    unprotectedWebwartość logiczna opcjonalna zwykłych witryn, 
 
- 
    
- 
    źródła,[string, ...string[]] opcjonalnie Chrome 74 lub nowszaJeśli ta lista jest dostępna, 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ć. 
- 
    odnumber opcjonalny Usuń dane zgromadzone w tym dniu lub po nim (w milisekundach od początku epoki, dostępne za pomocą metody getTimeobiektu JavaScriptDate). Jeśli nie jest podana, domyślnie przyjmuje wartość 0 (co spowoduje usunięcie wszystkich danych przeglądania).
Metody
remove()
chrome.browsingData.remove(
options: RemovalOptions,
dataToRemove: DataTypeSet,
callback?: function,
): Promise<void>
Usuwa różne typy danych przeglądania przechowywanych w profilu użytkownika.
Parametry
- 
    Opcje
- 
    dataToRemoveZbiór typów danych do usunięcia. 
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeAppcache()
chrome.browsingData.removeAppcache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Czyści dane pamięci podręcznej aplikacji witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeCache()
chrome.browsingData.removeCache(
options: RemovalOptions,
callback?: function,
): Promise<void>
Czyści pamięć podręczną przeglądarki.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeCacheStorage()
chrome.browsingData.removeCacheStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa dane z pamięci podręcznej witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeCookies()
chrome.browsingData.removeCookies(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa pliki cookie przeglądarki i certyfikaty powiązane z serwerem, które zostały zmodyfikowane w określonym przedziale czasu.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeDownloads()
chrome.browsingData.removeDownloads(
options: RemovalOptions,
callback?: function,
): Promise<void>
Czyści listę pobranych plików w przeglądarce (nie same pobrane pliki).
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeFileSystems()
chrome.browsingData.removeFileSystems(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa dane systemu plików witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeFormData()
chrome.browsingData.removeFormData(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa zapisane w przeglądarce dane formularzy (autouzupełnianie).
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeHistory()
chrome.browsingData.removeHistory(
options: RemovalOptions,
callback?: function,
): Promise<void>
Czyści historię przeglądarki.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeIndexedDB()
chrome.browsingData.removeIndexedDB(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa dane IndexedDB witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeLocalStorage()
chrome.browsingData.removeLocalStorage(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa dane zapisane w pamięci lokalnej witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removePasswords()
chrome.browsingData.removePasswords(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa zapisane hasła z przeglądarki.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removePluginData()
chrome.browsingData.removePluginData(
options: RemovalOptions,
callback?: function,
): Promise<void>
Obsługa technologii Flash została usunięta. Ta funkcja nie ma żadnego wpływu.
Usuwa dane wtyczek.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeServiceWorkers()
chrome.browsingData.removeServiceWorkers(
options: RemovalOptions,
callback?: function,
): Promise<void>
Czyści instancje robocze usług witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
removeWebSQL()
chrome.browsingData.removeWebSQL(
options: RemovalOptions,
callback?: function,
): Promise<void>
Usuwa dane WebSQL witryn.
Parametry
- 
    Opcje
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:() => void 
Zwroty
- 
            Promise<void> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych. 
settings()
chrome.browsingData.settings(
callback?: function,
): Promise<object>
Raportuje, jakie 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 użytkownika kontrolują więcej niż 1 typ danych wymieniony tutaj.
Parametry
- 
    callbackfunkcja opcjonalna Parametr callbackwygląda tak:(result: object) => void - 
    wynikobiekt - 
    dataRemovalPermittedWszystkie typy będą obecne w wyniku.Jeśli można je usunąć (np. zgodnie z zasadami przedsiębiorstwa), będą miały wartość true, a jeśli nie –false.
- 
    dataToRemoveWszystkie typy będą obecne w wyniku z wartościami true, jeśli są wybrane do usunięcia i można je usunąć, a w przeciwnym razie z wartościamifalse.
- 
    Opcje
 
- 
    
 
- 
    
Zwroty
- 
            Promise<object> Chrome w wersji 96 lub nowszejObietnice są obsługiwane tylko w przypadku platformy Manifest V3 i nowszych. Inne platformy muszą używać wywołań zwrotnych.