chrome.extension

الوصف

تحتوي واجهة برمجة التطبيقات chrome.extension على أدوات مساعدة يمكن استخدامها من خلال أي صفحة إضافة. وهي تتضمّن إمكانية تبادل الرسائل بين إضافة ونصوص المحتوى البرمجية أو بين الإضافات، كما هو موضّح بالتفصيل في تمرير الرسائل.

الأنواع

ViewType

Chrome 44 والإصدارات الأحدث

نوع عرض الإضافة

Enum

"tab"

"popup"

الخصائص

inIncognitoContext

تكون القيمة "صحيح" بالنسبة إلى نصوص المحتوى البرمجية التي يتم تشغيلها داخل علامات التبويب في وضع التصفّح المتخفي، وبالنسبة إلى صفحات الإضافة التي يتم تشغيلها داخل عملية التصفّح المتخفي. لا ينطبق الخيار الأخير إلا على الإضافات التي تتضمّن incognito_behavior بقيمة "split".

النوع

قيمة منطقية

lastError

≤ الإصدار 2 من ملف البيان تم إيقافه نهائيًا منذ الإصدار 58 من Chrome

يُرجى استخدام runtime.lastError.

يتم ضبط هذا الحقل لمدة بقاء دالة معاودة الاتصال إذا أدّت واجهة برمجة تطبيقات إضافة غير متزامنة إلى حدوث خطأ. إذا لم يحدث أي خطأ، ستكون قيمة lastError هي undefined.

النوع

عنصر

الخصائص

  • رسالة

    سلسلة

    وصف للخطأ الذي حدث.

الطُرق

getBackgroundPage()

العمل في المقدّمة فقط
chrome.extension.getBackgroundPage(): Window | undefined

تعرض هذه الدالة عنصر JavaScript "window" لصفحة الخلفية التي يتم تشغيلها داخل الإضافة الحالية. تعرِض قيمة فارغة إذا لم يكن للإضافة صفحة خلفية.

المرتجعات

  • نافذة | غير محدّد

getExtensionTabs()

≤ MV2 في المقدّمة فقط تم إيقافها نهائيًا
chrome.extension.getExtensionTabs(
  windowId?: number,
)
: Window[]

يُرجى استخدام extension.getViews {type: "tab"}.

تعرض هذه الدالة مصفوفة من عناصر JavaScript "window" لكل علامة تبويب تعمل داخل الإضافة الحالية. في حال تحديد windowId، تعرض هذه السمة كائنات "النافذة" فقط لعلامات التبويب المرفقة بالنافذة المحدّدة.

المعلمات

  • windowId

    number اختياري

المرتجعات

  • Window[]

    مصفوفة تتضمّن عناصر نافذة عامة

getURL()

≤ الإصدار 2 من ملف البيان تم إيقافه نهائيًا منذ الإصدار 58 من Chrome
chrome.extension.getURL(
  path: string,
)
: string

يُرجى استخدام runtime.getURL.

تحويل مسار نسبي ضمن دليل تثبيت إضافة إلى عنوان URL مؤهّل بالكامل

المعلمات

  • المسار

    سلسلة

    مسار إلى أحد الموارد ضمن إضافة، ويتم التعبير عنه بالنسبة إلى دليل التثبيت.

المرتجعات

  • سلسلة

    تمثّل هذه السمة عنوان URL المؤهّل بالكامل للمرجع.

getViews()

العمل في المقدّمة فقط
chrome.extension.getViews(
  fetchProperties?: object,
)
: Window[]

تعرض هذه الطريقة مصفوفة من عناصر JavaScript "window" لكل صفحة من الصفحات التي يتم تشغيلها داخل الإضافة الحالية.

المعلمات

  • fetchProperties

    عنصر اختياري

    • tabId

      number اختياري

      Chrome 54 والإصدارات الأحدث

      العثور على طريقة عرض وفقًا لمعرّف علامة تبويب في حال حذف هذا الحقل، سيتم عرض جميع طرق العرض.

    • النوع

      ViewType اختياري

      نوع العرض المطلوب الحصول عليه. في حال الحذف، يتم عرض جميع طرق العرض (بما في ذلك الصفحات وعلامات التبويب في الخلفية).

    • windowId

      number اختياري

      النافذة التي سيتم حصر البحث فيها. في حال عدم إدخال قيمة، يتم عرض جميع طرق العرض.

المرتجعات

  • Window[]

    مصفوفة تتضمّن عناصر عامة

isAllowedFileSchemeAccess()

الوعد
chrome.extension.isAllowedFileSchemeAccess(
  callback?: function,
)
: Promise<boolean>

تعرض هذه السمة حالة إذن الوصول إلى المخطط "file://" الممنوح للإضافة. يتطابق هذا الإعداد مع الإعداد الذي يتحكّم فيه المستخدم لكل إضافة على حدة "السماح بالوصول إلى عناوين URL للملفات" ويمكن الوصول إليه من خلال الصفحة chrome://extensions.

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      قيمة منطقية

      تكون القيمة "صحيح" إذا كان بإمكان الإضافة الوصول إلى المخطط "file://"، و"خطأ" في الحالات الأخرى.

المرتجعات

  • Promise<boolean>

    الإصدار 99 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

isAllowedIncognitoAccess()

الوعد
chrome.extension.isAllowedIncognitoAccess(
  callback?: function,
)
: Promise<boolean>

تعرض هذه السمة حالة إذن الوصول إلى "وضع التصفّح المتخفي" الممنوح للإضافة. يتوافق ذلك مع إعداد "مسموح به في وضع التصفُّح المتخفي" الذي يتحكّم فيه المستخدم لكل إضافة ويمكن الوصول إليه من خلال صفحة chrome://extensions.

المعلمات

  • callback

    الدالة اختيارية

    تظهر المَعلمة callback على النحو التالي:

    (isAllowedAccess: boolean) => void

    • isAllowedAccess

      قيمة منطقية

      تكون القيمة "صحيح" إذا كان بإمكان الإضافة الوصول إلى وضع التصفّح المتخفي، و"خطأ" في الحالات الأخرى.

المرتجعات

  • Promise<boolean>

    الإصدار 99 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

sendRequest()

Promise &leq; MV2 متوقّف نهائيًا
chrome.extension.sendRequest(
  extensionId?: string,
  request: any,
  callback?: function,
)
: Promise<any>

يُرجى استخدام runtime.sendMessage.

يرسل طلبًا واحدًا إلى المستمعين الآخرين داخل الإضافة. يشبه هذا الحقل runtime.connect، ولكنّه يرسل طلبًا واحدًا فقط مع ردّ اختياري. يتم تنشيط الحدث extension.onRequest في كل صفحة من صفحات الإضافة.

المعلمات

  • extensionId

    سلسلة اختيارية

    معرّف الإضافة التي تريد الاتصال بها في حال حذفه، يكون الإعداد التلقائي هو الإضافة الخاصة بك.

  • طلب

    أي واحد

  • callback

    الدالة اختيارية

    الإصدار 99 من Chrome والإصدارات الأحدث

    تظهر المَعلمة callback على النحو التالي:

    (response: any) => void

    • رد

      أي واحد

      عنصر استجابة JSON الذي أرسله معالج الطلب إذا حدث خطأ أثناء الاتصال بالإضافة، سيتم رفض الوعد.

المرتجعات

  • Promise<any>

    الإصدار 99 من Chrome والإصدارات الأحدث

    لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى عمليات رد الاتصال.

setUpdateUrlData()

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

تضبط هذه السياسة قيمة مَعلمة ap CGI المستخدَمة في عنوان URL الخاص بتحديث الإضافة. يتم تجاهل هذه القيمة للإضافات المستضافة في "معرض إضافات Chrome".

المعلمات

  • البيانات

    سلسلة

الفعاليات

onRequest

&leq MV2 متوقّف نهائيًا
chrome.extension.onRequest.addListener(
  callback: function,
)

يُرجى استخدام runtime.onMessage.

يتم تشغيل هذا الحدث عند إرسال طلب من عملية إضافة أو نص برمجي للمحتوى.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • طلب

      أي واحد

    • المُرسِل
    • sendResponse

      دالة

      تظهر المَعلمة sendResponse على النحو التالي:

      () => void

onRequestExternal

&leq MV2 متوقّف نهائيًا
chrome.extension.onRequestExternal.addListener(
  callback: function,
)

يُرجى استخدام runtime.onMessageExternal.

يتم تشغيل هذا الحدث عند إرسال طلب من إضافة أخرى.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (request: any, sender: runtime.MessageSender, sendResponse: function) => void

    • طلب

      أي واحد

    • المُرسِل
    • sendResponse

      دالة

      تظهر المَعلمة sendResponse على النحو التالي:

      () => void