Deskripsi
API omnibox memungkinkan Anda mendaftarkan kata kunci di kolom URL Google Chrome, yang juga dikenal dengan omnibox.
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 "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 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
Jenis gaya.
Enum
"url"
"pencocokan"
"redup"
OnInputEnteredDisposition
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 baruApakah 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()
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
-
saran
Objek SuggestResult sebagian, tanpa 'content' .
-
callback
fungsi opsional
Chrome 100 dan yang lebih baruParameter
callback
terlihat seperti ini:() => void
Hasil
-
Janji<void>
Chrome 100 dan yang lebih baruPromise 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
onDeleteSuggestion
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
-
suggestResults
Array hasil yang disarankan
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
Pengguna telah menerima apa yang diketik di omnibox.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti ini:(text: string, disposition: OnInputEnteredDisposition) => void
-
teks
string
-
disposisi
-
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