توضیحات
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 نصب کنید.
انواع
DefaultSuggestResult
یک نتیجه پیشنهادی
خواص
- توضیحات
رشته
متنی که در منوی کشویی URL نمایش داده می شود. می تواند شامل نشانه گذاری به سبک XML برای یک ظاهر طراحی شود. برچسبهای پشتیبانی شده عبارتند از 'url' (برای یک URL تحت اللفظی)، 'Match' (برای برجسته کردن متنی که با درخواست کاربر مطابقت دارد)، و 'dim' (برای متن کمکی کم رنگ). سبک ها را می توان تو در تو قرار داد، به عنوان مثال. کبریت کم رنگ
DescriptionStyleType
نوع سبک
Enum
"url" "مطابقت" "کم نور"
OnInputEnteredDisposition
موقعیت پنجره برای عبارت omnibox. این زمینه پیشنهادی برای نمایش نتایج است. به عنوان مثال، اگر دستور omnibox به یک URL خاص پیمایش کند، قرار گرفتن "newForegroundTab" به این معنی است که پیمایش باید در یک برگه انتخابی جدید انجام شود.
Enum
"currentTab" "NewForegroundTab" "NewBackgroundTab"
SuggestResult
یک نتیجه پیشنهادی
خواص
- محتوا
رشته
متنی که در نوار URL قرار می گیرد و زمانی که کاربر این ورودی را انتخاب می کند به برنامه افزودنی ارسال می شود.
- قابل حذف
بولی اختیاری
Chrome 63+آیا نتیجه پیشنهادی می تواند توسط کاربر حذف شود یا خیر.
- توضیحات
رشته
متنی که در منوی کشویی URL نمایش داده می شود. می تواند شامل نشانه گذاری به سبک XML برای یک ظاهر طراحی شود. برچسبهای پشتیبانی شده عبارتند از 'url' (برای یک URL تحت اللفظی)، 'Match' (برای برجسته کردن متنی که با درخواست کاربر مطابقت دارد)، و 'dim' (برای متن کمکی کم رنگ). سبک ها را می توان تو در تو قرار داد، به عنوان مثال. کبریت کم رنگ شما باید از پنج موجودیت از پیش تعریف شده فرار کنید تا آنها را به صورت متن نمایش دهید: stackoverflow.com/a/1091953/89484
روش ها
setDefaultSuggestion()
chrome.omnibox.setDefaultSuggestion(
suggestion: DefaultSuggestResult,
callback?: function,
)
توضیحات و استایل را برای پیشنهاد پیشفرض تنظیم میکند. پیشنهاد پیش فرض متنی است که در ردیف پیشنهادی اول در زیر نوار URL نمایش داده می شود.
پارامترها
- پیشنهاد
یک شیء جزئی SuggestResult، بدون پارامتر "content".
- پاسخ به تماس
عملکرد اختیاری
Chrome 100+پارامتر
callback
به نظر می رسد:() => void
برمی گرداند
قول<باطل>
Chrome 100+Promises در Manifest V3 و نسخه های جدیدتر پشتیبانی می شود، اما callbacks برای سازگاری به عقب ارائه شده است. شما نمی توانید از هر دو در یک فراخوانی تابع استفاده کنید. وعده با همان نوعی که به callback ارسال می شود حل می شود.
رویدادها
onDeleteSuggestion
chrome.omnibox.onDeleteSuggestion.addListener(
callback: function,
)
کاربر یک نتیجه پیشنهادی را حذف کرده است.
پارامترها
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(text: string) => void
- متن
رشته
onInputCancelled
chrome.omnibox.onInputCancelled.addListener(
callback: function,
)
کاربر جلسه ورودی کلمه کلیدی را بدون پذیرش ورودی به پایان رسانده است.
پارامترها
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:() => void
onInputChanged
chrome.omnibox.onInputChanged.addListener(
callback: function,
)
کاربر آنچه را که در omnibox تایپ شده است تغییر داده است.
پارامترها
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(text: string, suggest: function) => void
- متن
رشته
- پیشنهاد می کند
تابع
پارامتر
suggest
به صورت زیر است:(suggestResults: SuggestResult[]) => void
- پیشنهاد نتایج
آرایه ای از نتایج پیشنهادی
onInputEntered
chrome.omnibox.onInputEntered.addListener(
callback: function,
)
کاربر آنچه را که در omnibox تایپ شده است پذیرفته است.
پارامترها
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:(text: string, disposition: OnInputEnteredDisposition) => void
- متن
رشته
onInputStarted
chrome.omnibox.onInputStarted.addListener(
callback: function,
)
کاربر با تایپ کلمه کلیدی برنامه افزودنی جلسه ورودی کلمه کلیدی را شروع کرده است. این تضمین شده است که دقیقاً یک بار در هر جلسه ورودی و قبل از هر رویداد onInputChanged ارسال شود.
پارامترها
- پاسخ به تماس
تابع
پارامتر
callback
به نظر می رسد:() => void