chrome.omnibox

شرح

omnibox API به شما امکان می دهد کلمه کلیدی را در نوار آدرس گوگل کروم که به omnibox نیز معروف است، ثبت کنید.

تصویری که پیشنهادات مربوط به کلمه کلیدی «جستجوی Chromium» را نشان می‌دهد

هنگامی که کاربر کلمه کلیدی افزونه شما را وارد می کند، کاربر صرفاً با برنامه افزودنی شما تعامل برقرار می کند. هر ضربه کلید به برنامه افزودنی شما ارسال می شود و شما می توانید در پاسخ به آن پیشنهاداتی ارائه دهید.

پیشنهادها را می‌توان به روش‌های مختلف به شکلی غنی تنظیم کرد. وقتی کاربر پیشنهادی را می‌پذیرد، برنامه افزودنی شما مطلع می‌شود و می‌تواند اقدامی انجام دهد.

آشکار

برای استفاده از این 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

Chrome 44+

نوع سبک

Enum

"url"

"همخوانی داشتن"

"کم نور"

OnInputEnteredDisposition

Chrome 44+

موقعیت پنجره برای عبارت 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 63+
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 تایپ شده است پذیرفته است.

مولفه های

onInputStarted

chrome.omnibox.onInputStarted.addListener(
  callback: function,
)

کاربر یک جلسه ورودی کلمه کلیدی را با تایپ کلمه کلیدی برنامه افزودنی شروع کرده است. این تضمین شده است که دقیقاً یک بار در هر جلسه ورودی و قبل از هر رویداد onInputChanged ارسال شود.

مولفه های

  • پاسخ به تماس

    تابع

    پارامتر callback به نظر می رسد:

    ()=>void