Deskripsi
Gunakan chrome.history
API untuk berinteraksi dengan data halaman yang dikunjungi browser. Anda dapat menambahkan, menghapus, dan membuat kueri untuk URL di histori browser. Untuk mengganti halaman histori dengan versi Anda sendiri, lihat Mengganti Halaman.
Izin
history
Untuk berinteraksi dengan histori browser pengguna, gunakan API histori.
Untuk menggunakan API histori, deklarasikan izin "history"
dalam manifes ekstensi. Contoh:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
Konsep dan penggunaan
Jenis transisi
History API menggunakan jenis transisi untuk menjelaskan cara browser membuka URL tertentu pada kunjungan tertentu. Misalnya, jika pengguna mengunjungi halaman dengan mengklik link di halaman lain, jenis transisinya adalah "link". Baca konten referensi untuk mengetahui daftar jenis transisi.
Contoh
Untuk mencoba API ini, instal contoh History API dari repositori chrome-extension-samples.
Jenis
HistoryItem
Objek yang merangkum satu hasil kueri histori.
Properti
-
id
string
ID unik untuk item.
-
lastVisitTime
nomor opsional
Saat halaman ini terakhir dimuat, yang dinyatakan dalam milidetik sejak epoch.
-
title
string opsional
Judul halaman saat terakhir dimuat.
-
typedCount
nomor opsional
Frekuensi pengguna membuka halaman ini dengan mengetikkan alamatnya.
-
url
string opsional
URL yang dibuka oleh pengguna.
-
visitCount
nomor opsional
Frekuensi pengguna masuk ke halaman ini.
Enum
"link"
Pengguna tiba di halaman ini dengan mengklik link di halaman lain.
"typed"
Pengguna tiba di halaman ini dengan mengetik URL di kolom URL. Ini juga digunakan untuk tindakan navigasi eksplisit lainnya.
"auto_bookmark"
Pengguna membuka halaman ini melalui saran di UI, misalnya, melalui item menu.
"auto_subframe"
Pengguna tiba di halaman ini melalui navigasi subframe yang tidak mereka minta, seperti melalui pemuatan iklan dalam frame di halaman sebelumnya. Fungsi ini tidak selalu menghasilkan entri navigasi baru di menu mundur dan maju.
"manual_subframe"
Pengguna tiba di halaman ini dengan memilih sesuatu di subframe.
"generated"
Pengguna membuka halaman ini dengan mengetik di kolom URL dan memilih entri yang tidak terlihat seperti URL, misalnya saran Google Penelusuran. Misalnya, kecocokan mungkin memiliki URL halaman hasil Google Penelusuran, tetapi dapat dilihat pengguna sebagai "Telusuri Google untuk ...". Ini berbeda dengan navigasi yang diketik karena pengguna tidak mengetik atau melihat URL tujuan. Eksperimen juga terkait dengan navigasi kata kunci.
"auto_toplevel"
Halaman ditentukan dalam command line atau merupakan halaman awal.
"form_submit"
Pengguna tiba di halaman ini dengan mengisi nilai dalam formulir dan mengirimkan formulir. Tidak semua pengiriman formulir menggunakan jenis transisi ini.
"reload"
Pengguna memuat ulang halaman, baik dengan mengklik tombol muat ulang, maupun dengan menekan Enter di kolom URL. Pemulihan sesi dan Buka kembali tab yang ditutup juga menggunakan jenis transisi ini.
"keyword"
URL untuk halaman ini dibuat dari kata kunci yang dapat diganti selain penyedia penelusuran default.
"keyword_generated"
Sesuai dengan kunjungan yang dihasilkan untuk kata kunci.
UrlDetails
Properti
-
url
string
URL untuk operasi. ID harus dalam format seperti yang ditampilkan dari panggilan ke
history.search()
.
VisitItem
Objek yang merangkum satu kunjungan ke URL.
Properti
-
id
string
ID unik untuk
history.HistoryItem
yang sesuai. -
isLocal
boolean
Chrome 115 dan yang lebih baruBenar jika kunjungan berasal dari perangkat ini. False jika disinkronkan dari perangkat lain.
-
referringVisitId
string
ID kunjungan perujuk.
-
transition
Jenis transisi untuk kunjungan ini dari perujuknya.
-
visitId
string
Pengidentifikasi unik untuk kunjungan ini.
-
visitTime
nomor opsional
Saat kunjungan ini terjadi, yang direpresentasikan dalam milidetik sejak epoch.
Metode
addUrl()
chrome.history.addUrl(
details: UrlDetails,
callback?: function,
)
Menambahkan URL ke histori saat ini dengan jenis transisi "link".
Parameter
-
detail
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
deleteAll()
chrome.history.deleteAll(
callback?: function,
)
Menghapus semua item dari histori.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
deleteRange()
chrome.history.deleteRange(
range: object,
callback?: function,
)
Menghapus semua item dalam rentang tanggal yang ditentukan dari histori. Halaman tidak akan dihapus dari histori kecuali semua kunjungan berada dalam rentang tersebut.
Parameter
-
rentang
objek
-
endTime
angka
Item yang ditambahkan ke histori sebelum tanggal ini, yang direpresentasikan dalam milidetik sejak epoch.
-
startTime
angka
Item yang ditambahkan ke histori setelah tanggal ini, yang direpresentasikan dalam milidetik sejak epoch.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
deleteUrl()
chrome.history.deleteUrl(
details: UrlDetails,
callback?: function,
)
Menghapus semua kemunculan URL tertentu dari histori.
Parameter
-
detail
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
getVisits()
chrome.history.getVisits(
details: UrlDetails,
callback?: function,
)
Mengambil informasi tentang kunjungan ke URL.
Parameter
-
detail
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(results: VisitItem[]) => void
-
hasil
-
Hasil
-
Promise<VisitItem[]>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
search()
chrome.history.search(
query: object,
callback?: function,
)
Menelusuri histori untuk waktu kunjungan terakhir pada setiap halaman yang cocok dengan kueri.
Parameter
-
kueri
objek
-
endTime
nomor opsional
Membatasi hasil ke hasil yang dikunjungi sebelum tanggal ini, yang dinyatakan dalam milidetik sejak epoch.
-
maxResults
nomor opsional
Jumlah hasil maksimum yang akan diambil. Setelan defaultnya adalah 100.
-
startTime
nomor opsional
Membatasi hasil ke hasil yang dikunjungi setelah tanggal ini, yang dinyatakan dalam milidetik sejak epoch. Jika properti tidak ditentukan, setelan defaultnya adalah 24 jam.
-
teks
string
Kueri teks bebas ke layanan histori. Biarkan kosong untuk mengambil semua halaman.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti:(results: HistoryItem[]) => void
-
hasil
-
Hasil
-
Promise<HistoryItem[]>
Chrome 96 dan yang lebih baruPromise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.
Peristiwa
onVisited
chrome.history.onVisited.addListener(
callback: function,
)
Diaktifkan saat URL dikunjungi, sehingga memberikan data HistoryItem
untuk URL tersebut. Peristiwa ini aktif sebelum halaman dimuat.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(result: HistoryItem) => void
-
hasil
-
onVisitRemoved
chrome.history.onVisitRemoved.addListener(
callback: function,
)
Diaktifkan saat satu atau beberapa URL dihapus dari histori. Jika semua kunjungan telah dihapus, URL akan dihapus dari histori.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(removed: object) => void
-
dihapus
objek
-
allHistory
boolean
True jika semua histori dihapus. Jika true (benar), URL akan kosong.
-
urls
string[] opsional
-
-