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

Kunci berikut harus dideklarasikan dalam manifes untuk menggunakan API ini.

"omnibox"

Anda harus menyertakan kolom "omnibox.keyword" di manifes untuk menggunakan omnibox API. Anda juga harus menentukan ikon 16 x 16 piksel, yang akan ditampilkan di kolom URL saat menyarankan agar pengguna memasuki 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()

chrome.omnibox.setDefaultSuggestion(
  suggestion: DefaultSuggestResult,
)
: Promise<void>

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

Parameter

Hasil

  • Promise<void>

    Chrome 100+

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