شرح
omnibox API به شما امکان می دهد کلمه کلیدی را در نوار آدرس گوگل کروم که به omnibox نیز معروف است، ثبت کنید.
هنگامی که کاربر کلمه کلیدی افزونه شما را وارد می کند، کاربر صرفاً با برنامه افزودنی شما تعامل برقرار می کند. هر ضربه کلید به برنامه افزودنی شما ارسال می شود و شما می توانید در پاسخ به آن پیشنهاداتی ارائه دهید.
پیشنهادها را میتوان به روشهای مختلف به شکلی غنی تنظیم کرد. وقتی کاربر پیشنهادی را میپذیرد، برنامه افزودنی شما مطلع میشود و میتواند اقدامی انجام دهد.
آشکار
برای استفاده از omnibox API باید یک فیلد keyword
omnibox
در مانیفست قرار دهید. شما همچنین باید یک نماد 16x16 پیکسل را مشخص کنید که در نوار آدرس هنگام پیشنهاد به کاربران برای ورود به حالت کلیدواژه نمایش داده می شود.
مثلا:
{
"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 و نسخه های جدیدتر پشتیبانی می شود، پلتفرم های دیگر نیاز به استفاده از 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