chrome.history

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

Manifes

Anda harus menyatakan izin "histori" dalam manifes ekstensi untuk menggunakan API histori. 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 mengunjungi halaman dengan mengklik link di halaman lain, jenis transisinya adalah "link".

Tabel berikut menjelaskan setiap jenis transisi.

Jenis transisiDeskripsi
"yang diketik"Pengguna mendapatkan halaman ini dengan mengetik URL di kolom URL. Juga digunakan untuk tindakan navigasi eksplisit lainnya. Lihat juga yang dibuat, yang digunakan untuk kasus saat pengguna memilih pilihan yang tidak terlihat sama sekali 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 dalam frame selain level atas. 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 mempedulikan URL-nya (lihat juga manual_subframe).
"subframe_manual"Untuk navigasi subframe yang diminta secara eksplisit oleh pengguna dan menghasilkan entri navigasi baru di 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, pencocokan mungkin memiliki URL halaman hasil penelusuran Google, tetapi dapat ditampilkan kepada pengguna sebagai "Telusuri Google untuk ...". Navigasi ini tidak sama dengan navigasi yang diketik karena pengguna tidak mengetik atau melihat URL tujuan. Lihat juga kata kunci.
"auto_toplevel"Halaman yang ditentukan dalam command line atau merupakan halaman awal.
"pengiriman_formulir"Pengguna mengisi nilai dalam formulir dan mengirimkannya. Perhatikan bahwa dalam beberapa situasi—seperti saat formulir menggunakan skrip untuk mengirimkan konten—mengirimkan 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 dihasilkan dari kata kunci yang dapat diganti selain penyedia penelusuran default. Lihat juga keyword_generated.
"keyword_generated"Berhubungan 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

  • 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.

TransitionType

Chrome 44+

Jenis transisi untuk kunjungan ini dari perujuknya.

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

Chrome 88 dan yang lebih baru

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 baru

    Benar 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()

Promise
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 baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

deleteAll()

Promise
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 baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

deleteRange()

Promise
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 baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

deleteUrl()

Promise
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 baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

getVisits()

Promise
chrome.history.getVisits(
  details: UrlDetails,
  callback?: function,
)

Mengambil informasi tentang kunjungan ke URL.

Parameter

Hasil

  • Promise<VisitItem[]>

    Chrome 96 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.

Promise
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

  • Promise<HistoryItem[]>

    Chrome 96 dan yang lebih baru

    Promise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan 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

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