Deskripsi
Gunakan chrome.history
API untuk berinteraksi dengan data browser tentang halaman yang dikunjungi. 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
Manifes
Anda harus mendeklarasikan "histori" izin di manifes ekstensi untuk menggunakan history API. Contoh:
{
"name": "My extension",
...
"permissions": [
"history"
],
...
}
Jenis transisi
History API menggunakan jenis transisi untuk menjelaskan cara browser membuka URL tertentu kunjungan tertentu. Misalnya, jika pengguna mengunjungi laman dengan mengeklik tautan di laman lain, jenis transisinya adalah "tautan".
Tabel berikut menjelaskan setiap jenis transisi.
Jenis transisi | Deskripsi |
---|---|
"tautan" | Pengguna membuka halaman ini dengan mengklik link di halaman lain. |
"typed" | Pengguna mendapatkan halaman ini dengan mengetik URL di kolom URL. Juga digunakan untuk tindakan navigasi eksplisit lainnya. Lihat juga generated, yang digunakan untuk kasus saat pengguna memilih pilihan yang sama sekali tidak terlihat seperti URL. |
"auto_bookmark" | Pengguna membuka halaman ini melalui saran di UI—misalnya, melalui item menu. |
"auto_subframe" | Navigasi subframe. Ini adalah konten yang dimuat secara otomatis di frame non-level atas. Misalnya, jika halaman terdiri dari beberapa bingkai yang berisi iklan, URL iklan tersebut memiliki jenis transisi ini. Pengguna bahkan mungkin tidak menyadari bahwa konten di halaman ini adalah bingkai yang terpisah, sehingga mungkin tidak memedulikan URL (lihat juga manual_subframe). |
"subframe_manual" | Untuk navigasi subframe yang secara eksplisit diminta oleh pengguna dan menghasilkan entri navigasi baru dalam daftar mundur/maju. Frame yang diminta secara eksplisit mungkin lebih penting daripada frame yang dimuat secara otomatis karena pengguna mungkin peduli dengan fakta bahwa frame yang diminta telah dimuat. |
"dibuat" | Pengguna membuka halaman ini dengan mengetik di kolom URL dan memilih entri yang tidak terlihat seperti URL. Misalnya, kecocokan mungkin memiliki URL halaman hasil penelusuran Google, tetapi mungkin ditampilkan kepada pengguna sebagai "Telusuri ..." di Google. Navigasi ini tidak sama persis dengan navigasi berjenis karena pengguna tidak mengetik atau melihat URL tujuan. Lihat juga kata kunci. |
"auto_toplevel" | Halaman tersebut ditentukan di command line atau merupakan halaman awal. |
"formulir_pengiriman" | Pengguna mengisi nilai dalam formulir dan mengirimkannya. Perhatikan bahwa dalam beberapa situasi, seperti saat formulir menggunakan skrip untuk mengirim konten, pengiriman formulir tidak akan menyebabkan jenis transisi ini. |
"muat ulang" | Pengguna memuat ulang halaman, baik dengan mengklik tombol muat ulang atau dengan menekan Enter di kolom URL. Pemulihan sesi dan tab Buka kembali yang ditutup juga menggunakan jenis transisi ini. |
"kata kunci" | URL dibuat dari kata kunci yang dapat diganti selain penyedia penelusuran default. Lihat juga keyword_generated. |
"kata kunci_dibuat" | Sesuai dengan kunjungan yang dihasilkan untuk kata kunci. Lihat juga kata kunci. |
Contoh
Untuk mencoba API ini, instal contoh History API dari chrome-extension-samples repositori resource.
Jenis
HistoryItem
Objek yang merangkum satu hasil kueri histori.
Properti
-
id
string
ID unik untuk item.
-
lastVisitTime
angka opsional
Saat halaman ini terakhir dimuat, diwakili dalam milidetik sejak epoch.
-
judul
string opsional
Judul halaman saat terakhir dimuat.
-
typedCount
angka opsional
Frekuensi pengguna membuka halaman ini dengan mengetikkan alamat.
-
url
string opsional
URL yang dibuka oleh pengguna.
-
visitCount
angka opsional
Frekuensi pengguna membuka 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. Elemen 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 sebuah frame di halaman sebelumnya. Tombol 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, sebuah kecocokan mungkin memiliki URL halaman hasil Google Penelusuran, tetapi dapat muncul kepada pengguna sebagai "Telusuri ..." di Google. Navigasi ini berbeda dari navigasi yang diketik karena pengguna tidak mengetik atau melihat URL tujuan. Fitur ini juga berkaitan dengan navigasi kata kunci.
"auto_toplevel"
Halaman telah ditentukan di 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.
"muat ulang"
Pengguna memuat ulang halaman, baik dengan mengklik tombol muat ulang atau dengan menekan Enter di kolom URL. Pemulihan sesi dan tab Buka kembali 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. 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 baruTrue jika kunjungan berasal dari perangkat ini. Salah jika disinkronkan dari perangkat lain.
-
referringVisitId
string
ID kunjungan perujuk.
-
transition
Jenis transisi untuk kunjungan ini dari perujuknya.
-
visitId
string
ID unik untuk kunjungan ini.
-
visitTime
angka opsional
Saat kunjungan ini terjadi, dinyatakan dalam milidetik sejak epoch.
Metode
addUrl()
chrome.history.addUrl(
details: UrlDetails,
callback?: function,
)
Menambahkan URL ke histori pada saat ini dengan jenis transisi "link".
Parameter
-
detail
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
deleteAll()
chrome.history.deleteAll(
callback?: function,
)
Menghapus semua item dari histori.
Parameter
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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, diwakili dalam milidetik sejak epoch.
-
startTime
angka
Item yang ditambahkan ke histori setelah tanggal ini, diwakili dalam milidetik sejak epoch.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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 ini:() => void
Hasil
-
Janji<void>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
getVisits()
chrome.history.getVisits(
details: UrlDetails,
callback?: function,
)
Mengambil informasi tentang kunjungan ke URL.
Parameter
-
detail
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: VisitItem[]) => void
-
hasil
-
Hasil
-
Promise<VisitItem[]>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
search()
chrome.history.search(
query: object,
callback?: function,
)
Menelusuri histori untuk waktu kunjungan terakhir di setiap halaman yang cocok dengan kueri.
Parameter
-
kueri
objek
-
endTime
angka opsional
Batasi hasil pada kunjungan yang dilakukan sebelum tanggal ini, diwakili dalam milidetik sejak epoch.
-
maxResults
angka opsional
Jumlah maksimum hasil yang akan diambil. Setelan defaultnya adalah 100.
-
startTime
angka opsional
Batasi hasil pada kunjungan setelah tanggal ini, diwakili dalam milidetik sejak epoch. Jika tidak ditentukan, properti akan ditetapkan secara default ke 24 jam.
-
teks
string
Kueri teks bebas ke layanan histori. Biarkan kosong untuk mengambil semua halaman.
-
-
callback
fungsi opsional
Parameter
callback
terlihat seperti ini:(results: HistoryItem[]) => void
-
hasil
-
Hasil
-
Promise<HistoryItem[]>
Chrome 96 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
Acara
onVisited
chrome.history.onVisited.addListener(
callback: function,
)
Diaktifkan saat URL dikunjungi, yang memberikan data HistoryItem
untuk URL tersebut. Peristiwa ini diaktifkan sebelum halaman dimuat.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(result: HistoryItem) => void
-
hasil
-
onVisitRemoved
chrome.history.onVisitRemoved.addListener(
callback: function,
)
Diaktifkan jika satu atau beberapa URL dihapus dari histori. Jika semua kunjungan telah dihapus, URL akan dihapus dari histori.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(removed: object) => void
-
dihapus
objek
-
allHistory
boolean
True jika semua histori dihapus. Jika true (benar), URL akan kosong.
-
Url
string[] opsional
-
-