Deskripsi
Gunakan chrome.history API untuk berinteraksi dengan catatan halaman yang dikunjungi di 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
historyManifes
Anda harus mendeklarasikan izin "history" 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 pada kunjungan tertentu. Misalnya, jika pengguna membuka halaman dengan mengklik link di halaman lain, jenis transisinya adalah "link".
Tabel berikut menjelaskan setiap jenis transisi.
| Jenis transisi | Deskripsi | 
|---|---|
| "link" | Pengguna membuka halaman ini dengan mengklik link di halaman lain. | 
| "typed" | Pengguna membuka halaman ini dengan mengetikkan 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 apa pun yang dimuat secara otomatis dalam frame non-level teratas. Misalnya, jika halaman terdiri dari beberapa frame yang berisi iklan, URL iklan tersebut memiliki jenis transisi ini. Pengguna bahkan mungkin tidak menyadari bahwa konten di halaman ini adalah frame terpisah, sehingga mungkin tidak peduli dengan URL-nya (lihat juga manual_subframe). | 
| "manual_subframe" | Untuk navigasi subframe yang diminta secara eksplisit 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 muncul kepada pengguna sebagai "Telusuri Google untuk ...". Hal ini tidak sama dengan navigasi yang diketik karena pengguna tidak mengetik atau melihat URL tujuan. Lihat juga kata kunci. | 
| "auto_toplevel" | Halaman ditentukan di command line atau merupakan halaman awal. | 
| "form_submit" | Pengguna mengisi nilai dalam formulir dan mengirimkannya. Perhatikan bahwa dalam beberapa situasi—seperti saat formulir menggunakan skrip untuk mengirimkan konten—pengiriman formulir tidak menghasilkan 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 Buka kembali tab 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. | 
| "keyword_generated" | Sesuai dengan kunjungan yang dihasilkan untuk kata kunci. Lihat juga kata kunci. | 
Contoh
Untuk mencoba API ini, instal contoh history API dari repositori chrome-extension-samples.
Jenis
HistoryItem
Objek yang merangkum satu hasil kueri histori.
Properti
- 
    idstring ID unik untuk item. 
- 
    lastVisitTimenomor opsional Kapan halaman ini terakhir dimuat, yang dinyatakan dalam milidetik sejak epoch. 
- 
    judulstring opsional Judul halaman saat terakhir dimuat. 
- 
    typedCountnomor opsional Frekuensi pengguna membuka halaman ini dengan mengetik alamatnya. 
- 
    urlstring opsional URL yang dibuka oleh pengguna. 
- 
    visitCountnomor opsional Frekuensi pengguna membuka halaman ini. 
Enum
"link" 
 Pengguna membuka halaman ini dengan mengklik link di halaman lain.
"diketik" 
 Pengguna membuka halaman ini dengan mengetikkan 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 membuka halaman ini melalui navigasi subframe yang tidak mereka minta, seperti melalui iklan yang dimuat dalam frame di halaman sebelumnya. Hal ini tidak selalu menghasilkan entri navigasi baru di menu kembali dan maju.
"manual_subframe" 
 Pengguna membuka halaman ini dengan memilih sesuatu di subframe.
"dibuat" 
 Pengguna membuka halaman ini dengan mengetik di kolom URL dan memilih entri yang tidak terlihat seperti URL, seperti saran Google Penelusuran. Misalnya, kecocokan mungkin memiliki URL halaman hasil Google Penelusuran, tetapi mungkin muncul kepada pengguna sebagai "Telusuri ... di Google". Hal ini berbeda dengan navigasi yang diketik karena pengguna tidak mengetik atau melihat URL tujuan. Elemen ini juga terkait dengan navigasi kata kunci.
"auto_toplevel" 
 Halaman ditentukan di command line atau merupakan halaman awal.
"form_submit" 
 Pengguna membuka 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 atau 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
- 
    urlstring URL untuk operasi. Nilai ini harus dalam format yang ditampilkan dari panggilan ke history.search().
VisitItem
Objek yang merangkum satu kunjungan ke URL.
Properti
- 
    idstring ID unik untuk history.HistoryItemyang sesuai.
- 
    isLocalboolean Chrome 115+True jika kunjungan berasal dari perangkat ini. Salah (False) jika disinkronkan dari perangkat lain. 
- 
    referringVisitIdstring ID kunjungan perujuk. 
- 
    transitionJenis transisi untuk kunjungan ini dari perujuknya. 
- 
    visitIdstring ID unik untuk kunjungan ini. 
- 
    visitTimenomor opsional Waktu terjadinya kunjungan ini, dinyatakan dalam milidetik sejak epoch. 
Metode
addUrl()
chrome.history.addUrl(
details: UrlDetails,
callback?: function,
): Promise<void>
Menambahkan URL ke histori pada waktu saat ini dengan jenis transisi "link".
Parameter
- 
    detail
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
deleteAll()
chrome.history.deleteAll(
callback?: function,
): Promise<void>
Menghapus semua item dari histori.
Parameter
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
deleteRange()
chrome.history.deleteRange(
range: object,
callback?: function,
): Promise<void>
Menghapus semua item dalam rentang tanggal yang ditentukan dari histori. Halaman tidak akan dihapus dari histori kecuali semua kunjungan berada dalam rentang tersebut.
Parameter
- 
    rentangobjek - 
    endTimeangka Item yang ditambahkan ke histori sebelum tanggal ini, ditampilkan dalam milidetik sejak epoch. 
- 
    startTimeangka Item yang ditambahkan ke histori setelah tanggal ini, ditampilkan dalam milidetik sejak epoch. 
 
- 
    
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
deleteUrl()
chrome.history.deleteUrl(
details: UrlDetails,
callback?: function,
): Promise<void>
Menghapus semua kemunculan URL tertentu dari histori.
Parameter
- 
    detail
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:() => void 
Hasil
- 
            Promise<void> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
getVisits()
chrome.history.getVisits(
details: UrlDetails,
callback?: function,
): Promise<VisitItem[]>
Mengambil informasi tentang kunjungan ke URL.
Parameter
- 
    detail
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(results: VisitItem[]) => void - 
    hasil
 
- 
    
Hasil
- 
            Promise<VisitItem[]> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
search()
chrome.history.search(
query: object,
callback?: function,
): Promise<HistoryItem[]>
Menelusuri histori untuk waktu kunjungan terakhir setiap halaman yang cocok dengan kueri.
Parameter
- 
    kueriobjek - 
    endTimenomor opsional Membatasi hasil pada hasil yang dikunjungi sebelum tanggal ini, yang ditampilkan dalam milidetik sejak epoch. 
- 
    maxResultsnomor opsional Jumlah maksimum hasil yang akan diambil. Setelan defaultnya adalah 100. 
- 
    startTimenomor opsional Membatasi hasil ke hasil yang dikunjungi setelah tanggal ini, yang ditampilkan dalam milidetik sejak epoch. Jika properti tidak ditentukan, defaultnya adalah 24 jam. 
- 
    teksstring Kueri teks bebas ke layanan histori. Kosongkan kolom ini untuk mengambil semua halaman. 
 
- 
    
- 
    callbackfungsi opsional Parameter callbackterlihat seperti:(results: HistoryItem[]) => void - 
    hasil
 
- 
    
Hasil
- 
            Promise<HistoryItem[]> Chrome 96+Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback. 
Acara
onVisited
chrome.history.onVisited.addListener(
callback: function,
)
Diaktifkan saat URL dikunjungi, memberikan data HistoryItem untuk URL tersebut. Peristiwa ini dipicu sebelum halaman dimuat.
Parameter
- 
    callbackfungsi Parameter callbackterlihat 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
- 
    callbackfungsi Parameter callbackterlihat seperti:(removed: object) => void - 
    dihapusobjek - 
    allHistoryboolean Benar jika semua histori dihapus. Jika benar, URL akan kosong. 
- 
    Urlstring[] opsional 
 
- 
    
 
-