chrome.omnibox

Deskripsi

API omnibox memungkinkan Anda mendaftarkan kata kunci dengan bilah alamat Google Chrome, yang juga dikenal sebagai omnibox.

Screenshot yang menampilkan saran terkait kata kunci 'Penelusuran Chromium'

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

Saran dapat diformat dengan beragam 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" dalam manifes untuk menggunakan API omnibox. Anda juga harus menentukan ikon berukuran 16 x 16 piksel, yang akan ditampilkan di kolom URL saat menyarankan pengguna masuk ke 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 omnibox API 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 bisa disarangkan, misalnya pencocokan redup.

DescriptionStyleType

Chrome 44+

Jenis gaya.

Enum

"url"

"match"

OnInputEnteredDisposition

Chrome 44+

Disposisi jendela untuk kueri omnibox. Ini adalah konteks yang direkomendasikan untuk menampilkan hasil. Misalnya, jika perintah omnibox adalah menavigasi ke 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 dikirim ke ekstensi saat pengguna memilih entri ini.

  • Deletable

    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 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 bisa disarangkan, misalnya pencocokan redup. Anda harus meng-escape lima entitas yang telah ditentukan sebelumnya untuk menampilkannya sebagai teks: https://https://support.google.com/ sesuatu/1091953/89484

Metode

setDefaultSuggestion()

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

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 dan yang lebih baru

    Parameter callback terlihat seperti:

    ()=>void

Hasil

  • Promise<void>

    Chrome 100 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. Promise di-resolve dengan jenis yang sama yang diteruskan ke callback.

Peristiwa

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:

    (text: string)=>void

    • teks

      string

onInputCancelled

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

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

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    ()=>void

onInputChanged

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

Pengguna telah mengubah apa yang diketik di omnibox.

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

Parameter

onInputStarted

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

Pengguna telah memulai sesi input kata kunci dengan mengetik kata kunci ekstensi. Nilai ini dijamin akan dikirim tepat sekali per sesi input, dan sebelum peristiwa onInputChanged.

Parameter

  • callback

    fungsi

    Parameter callback terlihat seperti:

    ()=>void