Opis
Do interakcji z rejestrem odwiedzonych stron w przeglądarce należy używać interfejsu API chrome.history
. W historii przeglądarki możesz dodawać i usuwać adresy URL, a także wysyłać dotyczące ich zapytania. Aby zastąpić stronę historii własną wersją, przeczytaj sekcję Zastąp strony.
Uprawnienia
history
Plik manifestu
Musisz zadeklarować historię uprawnienia w pliku manifestu rozszerzenia na korzystanie z interfejsu API historii. Przykład:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
Typy przejść
Interfejs History API wykorzystuje typ przejścia do opisania, w jaki sposób przeglądarka przekierowała przeglądarkę do określonego adresu URL. podczas konkretnej wizyty. Jeśli na przykład użytkownik odwiedzi stronę, klikając link na innej stronie, parametr typu przejścia to „link”.
W tabeli poniżej opisujemy różne typy przejścia.
Typ przejścia | Opis |
---|---|
„link” | Użytkownik dotarł na tę stronę, klikając link na innej stronie. |
"typed" | Użytkownik otrzymał tę stronę, wpisując adres URL w pasku adresu. Służy też do innych działań związanych z nawigacją. Zobacz też artykuł Wygenerowane. Atrybut ten jest używany w przypadkach, gdy użytkownik wybrał odpowiedź, która nie wygląda jak adres URL. |
„auto_bookmark” | Użytkownik dostał tę stronę dzięki sugestii w interfejsie, np. pozycji menu. |
„auto_subframe” | Nawigacja z ramką podrzędną. Są to wszystkie treści, które są automatycznie wczytywane w ramce spoza najwyższego poziomu. Jeśli np. strona składa się z kilku ramek zawierających reklamy, w tych adresach URL reklam występuje ten typ przejścia. Użytkownik może nawet nie zdawać sobie sprawy, że zawartość tych stron jest w oddzielnej ramce, więc adres URL może nie być ważny (zobacz też manual_subframe). |
„manual_subframe”, | Dotyczy nawigacji w ramce podrzędnej, na które użytkownik jawnie prosi i generuje nowe wpisy nawigacyjne na liście wstecz/dalej. Wyraźnie żądana ramka jest prawdopodobnie ważniejsza niż ramka ładowana automatycznie, ponieważ użytkownik prawdopodobnie interesuje się tym, że żądana ramka została załadowana. |
"wygenerowano" | Użytkownik dotarł na tę stronę, wpisując tekst w pasku adresu i wybierając wpis, który nie wygląda jak adres URL. Na przykład dopasowanie może mieć adres URL strony wyników wyszukiwania Google, ale użytkownikowi może być wyświetlany jako „Szukaj w Google ...”. Nie różnią się one od opcji nawigacyjnych wpisanych, ponieważ użytkownik nie wpisał lub nie widział docelowego adresu URL. Zobacz też słowo kluczowe. |
„auto_najwyższy poziom” | Strona została określona w wierszu poleceń lub jest stroną startową. |
„form_submit” | Użytkownik wypełnił wartości w formularzu i go przesłał. Pamiętaj, że w niektórych sytuacjach, na przykład gdy treść formularza jest przekazywana za pomocą skryptu, przesłanie formularza nie powoduje zastosowania takiego przejścia. |
„załaduj ponownie” | Użytkownik załaduje ponownie stronę, klikając przycisk ponownego załadowania lub naciskając Enter na pasku adresu. Tego typu przejścia używają także przywracanie sesji i ponowne otwarcie zamkniętej karty. |
"słowo kluczowe" | Adres URL został wygenerowany na podstawie wymiennego słowa kluczowego innego niż domyślny dostawca wyszukiwania. Zobacz też parametr keyword_generated. |
„keyword_wygenerowane” | Odpowiada odwiedzinom wygenerowanym dla słowa kluczowego. Zobacz też słowo kluczowe. |
Przykłady
Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs API historii ze strony chrome-extension-samples z repozytorium.
Typy
HistoryItem
Obiekt zawierający 1 wynik zapytania dotyczącego historii.
Właściwości
-
id
ciąg znaków
Unikalny identyfikator produktu.
-
lastVisitTime
liczba opcjonalnie
Czas ostatniego wczytania strony, wyrażony w milisekundach od początku epoki.
-
tytuł
ciąg znaków opcjonalny
Tytuł strony podczas jej ostatniego wczytywania.
-
typedCount
liczba opcjonalnie
Ile razy użytkownik przeszedł na tę stronę, wpisując adres.
-
URL
ciąg znaków opcjonalny
Adres URL, do którego przeszedł użytkownik.
-
visitCount
liczba opcjonalnie
Liczba wejść użytkownika na tę stronę.
Typ wyliczeniowy
"link"
Użytkownik dotarł na tę stronę, klikając link na innej stronie.
"typed"
Użytkownik dotarł na tę stronę, wpisując URL na pasku adresu. Jest też używana w innych działaniach związanych z nawigacją.
"auto_bookmark"
Użytkownik dotarł na tę stronę dzięki sugestiom w interfejsie, np. po kliknięciu pozycji menu.
"auto_subframe"
Użytkownik wyświetlił tę stronę przez nawigację w ramce podrzędnej, której nie chciał, np. przez reklamę wczytaną w ramce na poprzedniej stronie. Nie zawsze generują nowe pozycje nawigacyjne w menu wstecz i dalej.
"manual_subframe"
Użytkownik wyświetlił tę stronę, wybierając coś w ramce podrzędnej.
"generate"
Użytkownik dotarł na tę stronę, wpisując w pasku adresu i wybierając wpis, który nie wygląda jak URL (np. sugestia wyszukiwarki Google). Na przykład dopasowanie może mieć adres URL strony wyników wyszukiwania Google, ale użytkownikowi może się wyświetlać jako „Wyszukaj w Google ...”. Różnią się one od wpisywanych nawigacji, ponieważ użytkownik nie wpisał lub nie widział docelowego adresu URL. Są one również związane z nawigacją po słowach kluczowych.
"auto_toplevel"
Strona została określona w wierszu poleceń lub jest stroną startową.
"form_submit"
Użytkownik dotarł na tę stronę, wypełniając wartości w formularzu i przesyłając formularz. Nie wszystkie przesłane formularze używają tego typu przejścia.
"reload"
Użytkownik ponownie załaduje stronę, klikając przycisk ponownego załadowania lub naciskając Enter na pasku adresu. Tego typu przejścia używają również przywracanie sesji i ponownie otwarte karty.
"keyword"
Adres URL tej strony został wygenerowany na podstawie wymiennego słowa kluczowego innego niż domyślny dostawca wyszukiwania.
"keyword_generate"
odpowiada wizytom wygenerowanym dla słowa kluczowego.
UrlDetails
Właściwości
-
URL
ciąg znaków
Adres URL operacji. Musi mieć format zwrócony z wywołania
history.search()
.
VisitItem
Obiekt zawierający jedne odwiedziny adresu URL.
Właściwości
-
id
ciąg znaków
Unikalny identyfikator odpowiedniego elementu
history.HistoryItem
. -
isLocal
wartość logiczna
Chrome w wersji 115 lub nowszej .Prawda, jeśli wizyta pochodzi z tego urządzenia. Wartość false, jeśli została zsynchronizowana z innego urządzenia.
-
referringVisitId
ciąg znaków
Identyfikator wizyty strony odsyłającej.
-
przejście
Typ przejścia tej wizyty ze strony odsyłającej.
-
visitId
ciąg znaków
Unikalny identyfikator tej wizyty.
-
visitTime
liczba opcjonalnie
Czas wystąpienia tej wizyty (wyrażony w milisekundach od początku epoki).
Metody
addUrl()
chrome.history.addUrl(
details: UrlDetails,
callback?: function,
)
Dodaje do historii aktualny adres URL z typem przejścia „link”.
Parametry
-
szczegóły
-
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.
deleteAll()
chrome.history.deleteAll(
callback?: function,
)
Usuwa wszystkie elementy z historii.
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.
deleteRange()
chrome.history.deleteRange(
range: object,
callback?: function,
)
Usuwa z historii wszystkie elementy w wybranym zakresie dat. Strony nie zostaną usunięte z historii, chyba że wszystkie wizyty mieszczą się w zakresie.
Parametry
-
zakres
Obiekt
-
endTime
liczba
Elementy dodane do historii przed tą datą, wyrażone w milisekundach od początku epoki.
-
startTime
liczba
Elementy dodane do historii po tej dacie, wyrażone w milisekundach od początku epoki.
-
-
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.
deleteUrl()
chrome.history.deleteUrl(
details: UrlDetails,
callback?: function,
)
Usuwa z historii wszystkie wystąpienia danego adresu URL.
Parametry
-
szczegóły
-
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.
getVisits()
chrome.history.getVisits(
details: UrlDetails,
callback?: function,
)
Pobiera informacje o wizytach pod adresem URL.
Parametry
-
szczegóły
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: VisitItem[]) => void
-
wyniki
-
Zwroty
-
Promise<VisitItem[]>
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.
search()
chrome.history.search(
query: object,
callback?: function,
)
Przeszukuje historię pod kątem czasu ostatniej wizyty na każdej stronie pasującej do zapytania.
Parametry
-
zapytanie
Obiekt
-
endTime
liczba opcjonalnie
Ogranicz wyniki do tych odwiedzonych przed tą datą, wyrażonych w milisekundach od początku epoki.
-
maxResults
liczba opcjonalnie
Maksymalna liczba wyników do pobrania. Domyślna wartość to 100.
-
startTime
liczba opcjonalnie
Ogranicz wyniki do tych odwiedzonych po tej dacie, wyrażonych w milisekundach od początku epoki. Jeśli właściwość nie zostanie określona, zostanie użyta domyślna wartość 24 godziny.
-
tekst
ciąg znaków
Zapytanie tekstowe kierowane do usługi historii. Pozostaw to pole puste, aby pobrać wszystkie strony.
-
-
wywołanie zwrotne
funkcja optional
Parametr
callback
wygląda tak:(results: HistoryItem[]) => void
-
wyniki
-
Zwroty
-
Promise<HistoryItem[]>
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.
Wydarzenia
onVisited
chrome.history.onVisited.addListener(
callback: function,
)
Uruchamiane po odwiedzeniu adresu URL i dostarcza dane HistoryItem
dotyczące tego adresu URL. To zdarzenie jest uruchamiane przed wczytaniem strony.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(result: HistoryItem) => void
-
wynik
-
onVisitRemoved
chrome.history.onVisitRemoved.addListener(
callback: function,
)
Uruchamiane, gdy co najmniej 1 adres URL zostanie usunięty z historii. Po usunięciu wszystkich wizyt adres URL jest usuwany z historii.
Parametry
-
wywołanie zwrotne
funkcja
Parametr
callback
wygląda tak:(removed: object) => void
-
usunięto
Obiekt
-
allHistory
wartość logiczna
Prawda, jeśli cała historia została usunięta. Jeśli ma wartość true (prawda), adresy URL będą puste.
-
adresy
string[] opcjonalnie
-
-