chrome.omnibox

Deskripsi

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

Screenshot yang menampilkan saran terkait kata kunci 'Penelusuran Chromium'

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

Saran dapat diformat dengan kaya dalam berbagai cara. Saat pengguna menerima saran, ekstensi Anda akan diberi tahu dan dapat mengambil tindakan.

Manifes

Anda harus menyertakan kolom omnibox keyword dalam manifes untuk menggunakan omnibox API. Anda juga harus menentukan ikon 16x16 piksel, yang akan ditampilkan di kolom URL saat menyarankan agar 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 kotak URL dari repositori chrome-extension-samples.

Jenis

DefaultSuggestResult

Hasil saran.

Properti

  • deskripsi

    string

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

DescriptionStyleType

Chrome 44+

Jenis gaya.

Enum

"url"

"match"

"dim"

OnInputEnteredDisposition

Chrome 44+

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

Enum

"currentTab"

"newForegroundTab"

"newBackgroundTab"

SuggestResult

Hasil saran.

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+

    Apakah hasil saran dapat dihapus oleh pengguna.

  • deskripsi

    string

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

Metode

setDefaultSuggestion()

Janji
chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
  callback?: function,
)
: Promise<void>

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

Parameter

  • Objek SuggestResult parsial, tanpa parameter 'content'.

  • callback

    fungsi opsional

    Chrome 100+

    Parameter callback terlihat seperti:

    () => void

Hasil

  • Promise<void>

    Chrome 100+

    Promise hanya didukung untuk Manifest V3 dan yang lebih baru, platform lain harus menggunakan callback.

Acara

onDeleteSuggestion

Chrome 63+
chrome.omnibox.onDeleteSuggestion.addListener(
  callback: function,
)

Pengguna telah menghapus hasil yang disarankan.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    (text: string) => void

    • teks

      string

onInputCancelled

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

Pengguna telah mengakhiri sesi input kata kunci tanpa menerima input.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    () => void

onInputChanged

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

Pengguna telah mengubah apa yang diketik ke dalam kotak serba guna.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

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

    • teks

      string

    • saran

      fungsi

      Parameter suggest terlihat seperti:

      (suggestResults: SuggestResult[]) => void

onInputEntered

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

Pengguna telah menerima apa yang diketik ke dalam kotak serbaguna.

Parameter

onInputStarted

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

Pengguna telah memulai sesi input kata kunci dengan mengetik kata kunci ekstensi. Peristiwa ini dijamin dikirim tepat satu kali per sesi input, dan sebelum peristiwa onInputChanged.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    () => void