chrome.omnibox

Deskripsi

API omnibox memungkinkan Anda mendaftarkan kata kunci di kolom URL Google Chrome, yang juga dikenal dengan omnibox.

Screenshot yang menampilkan saran terkait kata kunci 'Penelusuran Chromium'

Saat pengguna memasukkan kata kunci ekstensi Anda, pengguna mulai berinteraksi hanya dengan . Setiap penekanan tombol dikirim ke ekstensi, dan Anda dapat memberikan saran sebagai respons.

Saran dapat diformat secara beragam dalam berbagai cara. Ketika pengguna menerima saran, ekstensi Anda akan diberi tahu dan dapat mengambil tindakan.

Manifes

Anda harus menyertakan kolom keyword omnibox di dalam manifes untuk menggunakan API omnibox. Anda juga harus menentukan ikon 16x16 piksel, yang akan ditampilkan di kolom URL saat menyarankan pengguna memasukkan mode kata kunci.

Contoh:

{
  "name": "Aaron's omnibox extension",
  "version": "1.0",
  "omnibox": { "keyword" : "aaron" },
  "icons": {
    "16": "16-full-color.png"
  },
  "background": {
    "persistent": false,
    "scripts": ["background.js"]
  }
}

Contoh

Untuk mencoba API ini, instal contoh API omnibox dari chrome-extension-samples repositori resource.

Jenis

DefaultSuggestResult

Hasil yang disarankan.

Properti

  • deskripsi

    string

    Teks yang ditampilkan di dropdown URL. Dapat berisi markup bergaya XML untuk penataan gaya. Tag yang didukung adalah 'url' (untuk URL literal), 'cocok' (untuk menyorot teks yang cocok dengan kueri pengguna), dan 'redup' (untuk teks bantuan redup). Gaya dapat disusun bertingkat, misalnya kecocokan redup.

DescriptionStyleType

Chrome 44 dan yang lebih baru

Jenis gaya.

Enum

"url"

"pencocokan"

"redup"

OnInputEnteredDisposition

Chrome 44 dan yang lebih baru

Disposisi jendela untuk kueri omnibox. Ini adalah konteks yang direkomendasikan untuk menampilkan hasil. Misalnya, jika perintah omnibox adalah untuk menavigasi ke URL tertentu, disposisi 'newForegroundTab' berarti navigasi harus dilakukan di tab baru yang dipilih.

Enum

"currentTab"

"newForegroundTab"

"newBackgroundTab"

SuggestResult

Hasil yang disarankan.

Properti

  • konten

    string

    Teks yang dimasukkan ke kolom URL, dan yang dikirim ke ekstensi saat pengguna memilih entri ini.

  • dapat dihapus

    boolean opsional

    Chrome 63 dan yang lebih baru

    Apakah hasil yang disarankan dapat dihapus oleh pengguna.

  • deskripsi

    string

    Teks yang ditampilkan di dropdown URL. Dapat berisi markup bergaya XML untuk penataan gaya. Tag yang didukung adalah 'url' (untuk URL literal), 'cocok' (untuk menyorot teks yang cocok dengan kueri pengguna), dan 'redup' (untuk teks bantuan redup). Gaya dapat disusun bertingkat, misalnya kecocokan redup. Anda harus meng-escape lima entity yang telah ditetapkan untuk menampilkannya sebagai teks: stackoverflow.com/a/1091953/89484

Metode

setDefaultSuggestion()

Janji
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)

Menetapkan deskripsi dan gaya visual untuk saran default. Saran default adalah teks yang ditampilkan pada baris saran pertama di bawah kolom URL.

Parameter

  • Objek SuggestResult sebagian, tanpa 'content' .

  • callback

    fungsi opsional

    Chrome 100 dan yang lebih baru

    Parameter callback terlihat seperti ini:

    () => void

Hasil

  • Janji<void>

    Chrome 100 dan yang lebih baru

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

Acara

onDeleteSuggestion

Chrome 63 dan yang lebih baru
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

Pengguna telah menghapus hasil yang disarankan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (text: string) => void

    • teks

      string

onInputCancelled

chrome.omnibox.onInputCancelled.addListener(
  callback: function,
)

Pengguna telah mengakhiri sesi input kata kunci tanpa menyetujui input tersebut.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void

onInputChanged

chrome.omnibox.onInputChanged.addListener(
  callback: function,
)

Pengguna telah mengubah apa yang diketik dalam omnibox.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    (text: string, suggest: function) => void

    • teks

      string

    • saran

      fungsi

      Parameter suggest terlihat seperti ini:

      (suggestResults: SuggestResult[]) => void

onInputEntered

chrome.omnibox.onInputEntered.addListener(
  callback: function,
)

Pengguna telah menerima apa yang diketik di omnibox.

Parameter

onInputStarted

chrome.omnibox.onInputStarted.addListener(
  callback: function,
)

Pengguna telah memulai sesi input kata kunci dengan mengetikkan kata kunci ekstensi. Ini dijamin akan dikirim hanya sekali per sesi input, dan sebelum peristiwa onInputDiubah.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti ini:

    () => void