Deskripsi
API omnibox memungkinkan Anda mendaftarkan kata kunci dengan bilah alamat Google Chrome, yang juga dikenal sebagai omnibox.
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
Anda harus menyertakan kolom omnibox
keyword
dalam manifes untuk menggunakan API omnibox. Anda
juga harus menentukan ikon 16x16 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
Jenis gaya.
Enum
"url"
"match"
OnInputEnteredDisposition
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 baruApakah 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()
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
-
saran
Objek SuggestResult parsial, tanpa parameter 'content'.
-
callback
fungsi opsional
Chrome 100 dan yang lebih baruParameter
callback
terlihat seperti:() => void
Hasil
-
Promise<void>
Chrome 100 dan yang lebih baruPromise hanya didukung untuk Manifes V3 dan yang lebih baru, platform lain perlu menggunakan callback.
Peristiwa
onDeleteSuggestion
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
-
suggestResults
Array hasil saran
-
-
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
Pengguna telah menerima apa yang diketik di omnibox.
Parameter
-
callback
fungsi
Parameter
callback
terlihat seperti:(text: string, disposition: OnInputEnteredDisposition) => void
-
teks
string
-
disposisi
-
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