omnibox API به شما امکان می دهد کلمه کلیدی را در نوار آدرس گوگل کروم که به omnibox نیز معروف است، ثبت کنید.
هنگامی که کاربر کلمه کلیدی افزونه شما را وارد می کند، کاربر صرفاً با برنامه افزودنی شما تعامل برقرار می کند. هر ضربه کلید به برنامه افزودنی شما ارسال می شود و شما می توانید در پاسخ به آن پیشنهاداتی ارائه دهید.
پیشنهادها را میتوان به روشهای مختلف به شکلی غنی تنظیم کرد. وقتی کاربر پیشنهادی را میپذیرد، برنامه افزودنی شما مطلع میشود و میتواند اقدامی انجام دهد.
برای استفاده از omnibox API باید یک فیلد "omnibox.keyword"
در مانیفست اضافه کنید. همچنین باید یک نماد 16 در 16 پیکسل را مشخص کنید که در نوار آدرس هنگام پیشنهاد به کاربران برای ورود به حالت کلیدواژه نمایش داده می شود.
به عنوان مثال:
{
"name": "Aaron's omnibox extension",
"version": "1.0",
"omnibox": { "keyword" : "aaron" },
"icons": {
"16": "16-full-color.png"
},
"background": {
"persistent": false,
"scripts": ["background.js"]
}
}
برای امتحان این API، نمونه API omnibox را از مخزن chrome-extension-samples نصب کنید.
یک نتیجه پیشنهادی
- توضیحات
رشته
متنی که در منوی کشویی URL نمایش داده می شود. می تواند شامل نشانه گذاری به سبک XML برای یک ظاهر طراحی شود. برچسبهای پشتیبانی شده عبارتند از 'url' (برای یک URL تحت اللفظی)، 'Match' (برای برجسته کردن متنی که با درخواست کاربر مطابقت دارد)، و 'dim' (برای متن کمکی کم رنگ). سبک ها را می توان تو در تو قرار داد، به عنوان مثال. کبریت کم رنگ
نوع سبک
"url" "مطابقت" "کم نور"
موقعیت پنجره برای عبارت omnibox. این زمینه پیشنهادی برای نمایش نتایج است. به عنوان مثال، اگر دستور omnibox به یک URL خاص پیمایش کند، قرار گرفتن "newForegroundTab" به این معنی است که پیمایش باید در یک برگه انتخابی جدید انجام شود.
"currentTab" "NewForegroundTab" "NewBackgroundTab"
یک نتیجه پیشنهادی
- محتوا
رشته
متنی که در نوار URL قرار می گیرد و زمانی که کاربر این ورودی را انتخاب می کند به برنامه افزودنی ارسال می شود.
- قابل حذف
بولی اختیاری
Chrome 63+آیا نتیجه پیشنهادی می تواند توسط کاربر حذف شود یا خیر.
- توضیحات
رشته
متنی که در منوی کشویی URL نمایش داده می شود. می تواند شامل نشانه گذاری به سبک XML برای یک ظاهر طراحی شود. برچسبهای پشتیبانی شده عبارتند از 'url' (برای یک URL تحت اللفظی)، 'Match' (برای برجسته کردن متنی که با درخواست کاربر مطابقت دارد)، و 'dim' (برای متن کمکی کم رنگ). سبک ها را می توان تو در تو قرار داد، به عنوان مثال. کبریت کم رنگ شما باید از پنج موجودیت از پیش تعریف شده فرار کنید تا آنها را به صورت متن نمایش دهید: stackoverflow.com/a/1091953/89484
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
): Promise<void>
توضیحات و استایل را برای پیشنهاد پیشفرض تنظیم میکند. پیشنهاد پیش فرض متنی است که در ردیف پیشنهادی اول در زیر نوار URL نمایش داده می شود.
- پیشنهاد
یک شیء جزئی SuggestResult، بدون پارامتر "content".
قول<باطل>
Chrome 100+
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
کاربر یک نتیجه پیشنهادی را حذف کرده است.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(text: string) => void
- متن
رشته
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
کاربر جلسه ورودی کلمه کلیدی را بدون پذیرش ورودی به پایان رسانده است.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:() => void
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
کاربر آنچه را که در omnibox تایپ شده است تغییر داده است.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(text: string, suggest: function) => void
- متن
رشته
- پیشنهاد می کند
تابع
پارامتر
suggest
به صورت زیر است:(suggestResults: SuggestResult[]) => void
- پیشنهاد نتایج
آرایه ای از نتایج پیشنهادی
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
کاربر آنچه را که در omnibox تایپ شده است پذیرفته است.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(text: string, disposition: OnInputEnteredDisposition) => void
- متن
رشته
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
کاربر با تایپ کلمه کلیدی برنامه افزودنی جلسه ورودی کلمه کلیدی را شروع کرده است. این تضمین شده است که دقیقاً یک بار در هر جلسه ورودی و قبل از هر رویداد onInputChanged ارسال شود.
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:() => void