chrome.extension

refresh date: 2026-09-25 robots: noindex

شرح

chrome.extension API دارای ابزارهایی است که هر صفحه افزونه‌ای می‌تواند از آن‌ها استفاده کند. این شامل پشتیبانی از تبادل پیام بین یک افزونه و اسکریپت‌های محتوای آن یا بین افزونه‌ها می‌شود، همانطور که به‌طور مفصل در انتقال پیام توضیح داده شده است.

انواع

ViewType

Chrome نسخه ۴۴ به بالا

نوع نمای افزونه.

شمارشی

«برگه»

"popup"

مشخصات

inIncognitoContext

برای متون محتوایی که در داخل زبانه‌های ناشناس اجرا می‌شوند و برای صفحه‌های افزونه‌ای که در داخل فرایند ناشناس اجرا می‌شوند، True است. مورد دوم فقط برای افزونه‌هایی با incognito_behavior «تقسیم‌شده» اعمال می‌شود.

نوع

بولی

lastError

≤ MV2 از Chrome 58 منسوخ شده است

لطفاً از runtime.lastError استفاده کنید.

اگر میانای برنامه‌سازی کاربردی افزونه ناهمگام منجر به خطا شده باشد، برای طول عمر یک فراخوانی برگشتی تنظیم می‌شود. اگر خطایی رخ نداده باشد، lastError برابر با undefined خواهد بود.

نوع

شیء

مشخصات

  • پیام

    رشته

    شرح خطایی که رخ داده است.

روش‌ها

getBackgroundPage()

فقط پیش‌زمینه
chrome.extension.getBackgroundPage(): Window | undefined

شیء «پنجره» جاوا اسکریپت را برای صفحه پس‌زمینه درحال اجرا در افزونه کنونی برمی‌گرداند. اگر افزونه صفحه پس‌زمینه نداشته باشد، مقدار تهی برمی‌گرداند.

بازگشتی‌ها

  • پنجره | undefined

getExtensionTabs()

≤ MV2 فقط پیش‌زمینه منسوخ‌شده
chrome.extension.getExtensionTabs(
  windowId?: number,
)
: Window[]

لطفاً از extension.getViews {type: "tab"} استفاده کنید.

آرایه‌ای از اشیاء «پنجره» جاوا اسکریپت را برای هریک از برگه‌هایی که در افزونه فعلی اجرا می‌شوند برمی‌گرداند. اگر windowId مشخص شده باشد، فقط اشیای «پنجره» برگه‌های پیوست‌شده به پنجره مشخص‌شده را برمی‌گرداند.

پارامترها

  • windowId

    شماره اختیاری

بازگشتی‌ها

  • پنجره[]

    آرایه‌ای از اشیای پنجره سراسری

getURL()

≤ MV2 از Chrome 58 منسوخ شده است
chrome.extension.getURL(
  path: string,
)
: string

لطفاً از runtime.getURL استفاده کنید.

مسیر نسبی را در دایرکتوری نصب افزونه به نشانی وب کاملاً واجد شرایط تبدیل می‌کند.

پارامترها

  • مسیر

    رشته

    مسیر منبعی در افزونه که نسبت‌به دایرکتوری نصب آن بیان شده است.

بازگشتی‌ها

  • رشته

    نشانی وب کاملاً واجد شرایط منبع.

getViews()

فقط پیش‌زمینه
chrome.extension.getViews(
  fetchProperties?: object,
)
: Window[]

آرایه‌ای از اشیاء «پنجره» جاوا اسکریپت را برای هریک از صفحه‌هایی که در افزونه فعلی اجرا می‌شوند برمی‌گرداند.

پارامترها

  • fetchProperties

    شیء اختیاری

    • tabId

      شماره اختیاری

      Chrome نسخه ۵۴ به بالا

      نمایی را براساس شناسه برگه پیدا کنید. اگر این فیلد حذف شود، همه نماها برگردانده می‌شود.

    • نوع

      ViewType اختیاری

      نوع نمای دریافتی. اگر حذف شود، همه نماها (ازجمله صفحه‌ها و برگه‌های پس‌زمینه) را برمی‌گرداند.

    • windowId

      شماره اختیاری

      پنجره‌ای که جستجو به آن محدود می‌شود. اگر حذف شود، همه نماها را برمی‌گرداند.

بازگشتی‌ها

  • پنجره[]

    آرایه اشیای سراسری

isAllowedFileSchemeAccess()

Promise
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)
: Promise<boolean>

وضعیت دسترسی افزونه به طرح «file://» را بازیابی می‌کند. این با تنظیم «اجازه دسترسی به نشانی‌های وب فایل» برای هر افزونه که توسط کاربر کنترل می‌شود و ازطریق صفحه chrome://extensions قابل‌دسترسی است مطابقت دارد.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (isAllowedAccess: boolean) =& gt;void

    • isAllowedAccess

      بولی

      اگر افزونه بتواند به طرح «file://» دسترسی داشته باشد، درست است، درغیراین‌صورت نادرست است.

بازگشتی‌ها

  • Promise<boolean>

    Chrome نسخه ۹۹ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

isAllowedIncognitoAccess()

Promise
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)
: Promise<boolean>

وضعیت دسترسی افزونه به «حالت ناشناس» را بازیابی می‌کند. این تنظیم با تنظیم «مجاز در حالت ناشناس» برای هر افزونه که توسط کاربر کنترل می‌شود و ازطریق صفحه chrome://extensions قابل‌دسترسی است مطابقت دارد.

پارامترها

  • تماس برگشتی

    تابع اختیاری

    پارامتر callback به‌صورت زیر است:

    (isAllowedAccess: boolean) =& gt;void

    • isAllowedAccess

      بولی

      اگر افزونه به «حالت ناشناس» دسترسی داشته باشد، «درست» است، درغیراین‌صورت «نادرست» است.

بازگشتی‌ها

  • Promise<boolean>

    Chrome نسخه ۹۹ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

sendRequest()

Promise &leq; MV2 منسوخ‌شده
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

لطفاً از runtime.sendMessage استفاده کنید.

یک درخواست به شنوندگان دیگر در افزونه ارسال می‌کند. مشابه runtime.connect، اما فقط یک درخواست با پاسخ اختیاری ارسال می‌کند. رویداد extension.onRequest در هر صفحه از افزونه اجرا می‌شود.

پارامترها

  • extensionId

    رشته اختیاری

    شناسه افزونه‌ای که می‌خواهید به آن متصل شوید. اگر حذف شود، پیش‌فرض افزونه خودتان است.

  • درخواست

    همه

  • تماس برگشتی

    تابع اختیاری

    Chrome نسخه ۹۹ و بالاتر

    پارامتر callback به‌صورت زیر است:

    (response: any) =& gt;void

    • پاسخ

      همه

      شیء پاسخ JSON که توسط گرداننده درخواست ارسال شده است. اگر هنگام اتصال به افزونه خطایی رخ دهد، وعده رد خواهد شد.

بازگشتی‌ها

  • Promise<any>

    Chrome نسخه ۹۹ و بالاتر

    ‫Promises فقط برای «مانیفست نسخه ۳» و نسخه‌های جدیدتر پشتیبانی می‌شود، پلاتفرم‌های دیگر باید از callbacks استفاده کنند.

setUpdateUrlData()

chrome.extension.setUpdateUrlData(
  data: string,
)
: void

مقدار پارامتر ap CGI را که در نشانی وب به‌روزرسانی افزونه استفاده می‌شود تنظیم می‌کند. این مقدار برای افزونه‌هایی که در «گالری افزونه Chrome» میزبانی می‌شوند نادیده گرفته می‌شود.

پارامترها

  • داده

    رشته

رویدادها

onRequest

&leq; MV2 منسوخ‌شده
chrome.extension.onRequest.addListener(
  callback: function,
)

لطفاً از runtime.onMessage استفاده کنید.

وقتی درخواستی از فرایند افزونه یا اسکریپت محتوا ارسال می‌شود، فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (request: any, sender: runtime.MessageSender, sendResponse: function) =& gt;void

    • درخواست

      همه

    • فرستنده
    • sendResponse

      عملکرد

      پارامتر sendResponse به‌صورت زیر است:

      () =& gt;void

onRequestExternal

&leq; MV2 منسوخ‌شده
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

لطفاً از runtime.onMessageExternal استفاده کنید.

وقتی درخواستی از افزونه دیگری ارسال می‌شود، فعال می‌شود.

پارامترها

  • تماس برگشتی

    عملکرد

    پارامتر callback به‌صورت زیر است:

    (request: any, sender: runtime.MessageSender, sendResponse: function) =& gt;void

    • درخواست

      همه

    • فرستنده
    • sendResponse

      عملکرد

      پارامتر sendResponse به‌صورت زیر است:

      () =& gt;void