chrome.history

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

Untuk berinteraksi dengan histori browser pengguna, gunakan API histori.

Untuk menggunakan history API, deklarasikan izin "history" di manifes ekstensi. Contoh:

{
  "name": "My extension",
  ...
  "permissions": [
    "history"
  ],
  ...
}

Konsep dan penggunaan

Jenis transisi

API histori 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". Lihat konten referensi untuk mengetahui daftar jenis-jenis transisi.

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.

TransitionType

Chrome 44 dan yang lebih baru

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

Chrome 88 dan yang lebih baru

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 baru

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

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

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

deleteAll()

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

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

deleteRange()

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

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

deleteUrl()

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

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

getVisits()

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

Mengambil informasi tentang kunjungan ke URL.

Parameter

Hasil

  • Promise&lt;VisitItem[]&gt;

    Chrome 96 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke callback.

Janji
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

  • Promise&lt;HistoryItem[]&gt;

    Chrome 96 dan yang lebih baru

    Promise didukung di Manifes V3 dan yang lebih baru, tetapi callback disediakan untuk kompatibilitas mundur. Anda tidak dapat menggunakan keduanya pada panggilan fungsi yang sama. Tujuan promise yang di-resolve dengan jenis yang sama dengan yang diteruskan ke 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

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