chrome.tabs

الوصف

استخدِم واجهة برمجة التطبيقات chrome.tabs للتفاعل مع نظام علامات التبويب في المتصفّح. يمكنك استخدام واجهة برمجة التطبيقات هذه لإنشاء علامات التبويب وتعديلها وإعادة ترتيبها في المتصفّح.

لا توفّر واجهة برمجة التطبيقات Tabs API ميزات لمعالجة علامات التبويب وإدارتها فقط، بل يمكنها أيضًا رصد لغة علامة التبويب والتقاط لقطة شاشة و التواصل مع نصوص محتوى علامة التبويب.

الأذونات

لا تتطلّب معظم الميزات أي أذونات لاستخدامها. على سبيل المثال: إنشاء علامة تبويب جديدة وإعادة تحميل علامة تبويب والانتقال إلى عنوان URL آخر وغير ذلك.

هناك ثلاثة أذونات يجب أن يعرفها المطوّرون عند التعامل مع Tabs API.

إذن "علامات التبويب"

لا يمنح هذا الإذن إمكانية الوصول إلى مساحة الاسم chrome.tabs. بدلاً من ذلك، فإنه يمنح الإضافة إمكانية الاتصال بـ tabs.query() في أربع سمات حساسة في حالات tabs.Tab: url وpendingUrl وtitle و favIconUrl.

{
  "name": "My extension",
  ...
  "permissions": [
    "tabs"
  ],
  ...
}
أذونات المضيف

تسمح أذونات المضيف للإضافة بقراءة واستعلام عن السمات الأربعة المُهمّة tabs.Tab في علامة التبويب المطابقة. ويمكنهم أيضًا التفاعل مباشرةً مع علامات التبويب المطابقة باستخدام طرق مثل tabs.captureVisibleTab()، tabs.executeScript()، tabs.insertCSS()، tabs.removeCSS().

{
  "name": "My extension",
  ...
  "host_permissions": [
    "http://*/*",
    "https://*/*"
  ],
  ...
}
الإذن "activeTab"

activeTab يمنح الإضافة إذن مضيف مؤقتًا للعلامة التبويب الحالية في استجابةً لطلب من المستخدم. على عكس أذونات المضيف، لا يؤدي activeTab إلى ظهور أي تحذيرات.

{
  "name": "My extension",
  ...
  "permissions": [
    "activeTab"
  ],
  ...
}

حالات الاستخدام

توضّح الأقسام التالية بعض حالات الاستخدام الشائعة.

فتح صفحة إضافة في علامة تبويب جديدة

من الشائع أن تفتح الإضافات صفحة إعدادات في علامة تبويب جديدة عند تثبيت الإضافة. يوضّح المثال التالي كيفية إجراء ذلك.

background.js:

chrome.runtime.onInstalled.addListener(({reason}) => {
  if (reason === 'install') {
    chrome.tabs.create({
      url: "onboarding.html"
    });
  }
});

الحصول على علامة التبويب الحالية

يوضّح هذا المثال كيف يمكن لعامل الخدمة في الإضافة استرداد علامة التبويب النشطة من النافذة التي يتم التركيز عليها حاليًا (أو النافذة التي تم التركيز عليها مؤخرًا، إذا لم يتم التركيز على أي نوافذ Chrome). يمكن اعتبار هذا العنصر عادةً علامة التبويب الحالية للمستخدم.

  async function getCurrentTab() {
    let queryOptions = { active: true, lastFocusedWindow: true };
    // `tab` will either be a `tabs.Tab` instance or `undefined`.
    let [tab] = await chrome.tabs.query(queryOptions);
    return tab;
  }

  function getCurrentTab(callback) {
    let queryOptions = { active: true, lastFocusedWindow: true };
    chrome.tabs.query(queryOptions, ([tab]) => {
      if (chrome.runtime.lastError)
      console.error(chrome.runtime.lastError);
      // `tab` will either be a `tabs.Tab` instance or `undefined`.
      callback(tab);
    });
  }

كتم صوت علامة التبويب المحدّدة

يوضّح هذا المثال كيف يمكن للإضافة إيقاف الصوت أو تشغيله في علامة تبويب معيّنة.

  async function toggleMuteState(tabId) {
    const tab = await chrome.tabs.get(tabId);
    const muted = !tab.mutedInfo.muted;
    await chrome.tabs.update(tabId, {muted});
    console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
  }

  function toggleMuteState(tabId) {
    chrome.tabs.get(tabId, async (tab) => {
      let muted = !tab.mutedInfo.muted;
      await chrome.tabs.update(tabId, { muted });
      console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
    });
  }

نقل علامة التبويب الحالية إلى الموضع الأول عند النقر عليها

يوضّح هذا المثال كيفية نقل علامة تبويب أثناء عملية سحب قد تكون جارية أو لا. على الرغم من أنّ هذا المثال يستخدم chrome.tabs.move، يمكنك استخدام نمط الانتظار نفسه للمكالمات الأخرى التي تعدّل علامات التبويب أثناء تنفيذ عملية سحب.

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

  async function moveToFirstPosition(activeInfo) {
    try {
      await chrome.tabs.move(activeInfo.tabId, {index: 0});
      console.log("Success.");
    } catch (error) {
      if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
        setTimeout(() => moveToFirstPosition(activeInfo), 50);
      } else {
        console.error(error);
      }
    }
  }

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

  function moveToFirstPositionMV2(activeInfo) {
    chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
      if (chrome.runtime.lastError) {
        const error = chrome.runtime.lastError;
        if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
          setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
        } else {
          console.error(error);
        }
      } else {
        console.log("Success.");
      }
    });
  }

تمرير رسالة إلى نص محتوى علامة تبويب محدّدة

يوضّح هذا المثال كيف يمكن لعامل خدمة إحدى الإضافات التواصل مع نصوص برمجية للمحتوى في علامات تبويب معيّنة للمتصفّح باستخدام tabs.sendMessage().

function sendMessageToActiveTab(message) {
  const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
  const response = await chrome.tabs.sendMessage(tab.id, message);
  // TODO: Do something with the response.
}

أمثلة على الإضافات

لمزيد من العروض التوضيحية لإضافات Tabs API، يمكنك الاطّلاع على أيّ من العناصر التالية:

الأنواع

MutedInfo

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

حالة كتم صوت علامة التبويب وسبب تغيير الحالة الأخير

أماكن إقامة

  • extensionId

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

    رقم تعريف الإضافة التي غيّرت حالة كتم الصوت لا يتم ضبط هذا الإعداد إذا لم تكن إحدى الإضافات هي سبب آخر تغيير في حالة كتم الصوت.

  • تم كتم الصوت

    قيمة منطقية

    ما إذا تم كتم صوت علامة التبويب (منع تشغيل الصوت) قد يتم كتم صوت علامة التبويب حتى إذا لم يتم تشغيل الصوت أو إذا لم يكن الصوت قيد التشغيل حاليًا. يشير ذلك إلى ما إذا كان مؤشر الصوت "مكتوم" يظهر.

  • السبب

    MutedInfoReason اختياري

    سبب كتم صوت علامة التبويب أو إزالة كتم صوتها لا يتم ضبطه إذا لم يتم تغيير حالة كتم صوت علامة التبويب مطلقًا.

MutedInfoReason

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

حدث أدّى إلى تغيير حالة كتم الصوت

التعداد

"user"
ضبط حالة كتم الصوت من خلال إجراء إدخال المستخدم

"capture"
تم بدء عملية تسجيل علامة التبويب، ما أدى إلى تغيير حالة كتم الصوت.

"extension"
ضبط حالة كتم الصوت من خلال إضافة تم تحديدها من خلال حقل extensionId

Tab

أماكن إقامة

  • نشطة

    قيمة منطقية

    ما إذا كانت علامة التبويب نشطة في نافذتها. ولا يعني ذلك بالضرورة أنّ التركيز على النافذة.

  • تطبيق audible

    قيمة منطقية اختيارية

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

    ما إذا كانت علامة التبويب قد أصدرت صوتًا خلال الثواني القليلة الماضية (ولكن قد لا يتم سماعها إذا تم كتم صوتها أيضًا). يعادل ذلك ما إذا كان مؤشر "صوت مكبّر الصوت" يظهر.

  • autoDiscardable

    قيمة منطقية

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

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

  • تم التجاهل

    قيمة منطقية

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

    ما إذا كان سيتم تجاهل علامة التبويب علامة التبويب التي تم تجاهلها هي علامة تبويب تم إلغاء تحميل محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. ويتم إعادة تحميل محتواه في المرة التالية التي يتم فيها تفعيله.

  • favIconUrl

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

    عنوان URL للرمز المفضّل للعلامة. لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن "tabs". وقد تكون أيضًا سلسلة فارغة في حال تحميل علامة التبويب.

  • مجمّد

    قيمة منطقية

    في انتظار المراجعة

    ما إذا كانت علامة التبويب متوقفة لا يمكن لعلامة التبويب المجمّدة تنفيذ المهام، بما في ذلك معالجات الأحداث أو الموقّتات. وهي تظهر في شريط علامات التبويب ويتم تحميل محتواها في الذاكرة. ويتم إلغاء تجميده عند التفعيل.

  • groupId

    الرقم

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

    رقم تعريف المجموعة التي تنتمي إليها علامة التبويب.

  • الطول

    الرقم اختياري

    ارتفاع علامة التبويب بالبكسل.

  • بارزة

    قيمة منطقية

    ما إذا كانت علامة التبويب مميّزة

  • id

    الرقم اختياري

    معرّف علامة التبويب. تكون أرقام تعريف علامات التبويب فريدة داخل جلسة المتصفّح. في بعض الحالات، قد لا يتم تخصيص رقم تعريف لعلامة تبويب. على سبيل المثال، عند إجراء طلبات بحث في علامات التبويب الخارجية باستخدام واجهة برمجة تطبيقات sessions، قد يتوفّر معرّف جلسة في هذه الحالة. يمكن أيضًا ضبط رقم تعريف علامة التبويب على chrome.tabs.TAB_ID_NONE للتطبيقات ونوافذ أدوات المطوّرين.

  • وضع التصفّح المتخفي

    قيمة منطقية

    ما إذا كانت علامة التبويب في نافذة تصفّح متخفٍ

  • المؤشر

    الرقم

    الفهرس المبدوء من الصفر لعلامة التبويب ضمن نافذتها

  • lastAccessed

    الرقم

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

    آخر مرة تم فيها الوصول إلى علامة التبويب بالتنسيق عدد المللي ثانية منذ بدء حساب الوقت

  • mutedInfo

    MutedInfo اختياري

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

    حالة كتم صوت علامة التبويب وسبب تغيير الحالة الأخير

  • openerTabId

    رقم اختياري

    رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه، إن توفّرت. لا تتوفّر هذه السمة إلا إذا كانت علامة التبويب التي فتحت التطبيق لا تزال متوفّرة.

  • pendingUrl

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

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

    عنوان URL الذي تنتقل إليه علامة التبويب قبل أن يتم تأكيده. لا تتوفّر هذه السمة إلا إذا كان بيان الإضافة يتضمّن إذن "tabs" وكانت هناك عملية تنقّل في انتظار المراجعة.

  • تم تثبيته

    قيمة منطقية

    ما إذا كانت علامة التبويب قد تم تثبيتها

  • تم تحديد هذا الخيار

    قيمة منطقية

    تمّ إيقافه نهائيًا

    يُرجى استخدام tabs.Tab.highlighted.

    ما إذا كانت علامة التبويب محدّدة

  • sessionId

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

    رقم تعريف الجلسة المستخدَم للتعريف بشكلٍ فريد عن علامة تبويب تم الحصول عليها من واجهة برمجة تطبيقات sessions.

  • status

    TabStatus اختياري

    حالة تحميل علامة التبويب

  • title

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

    عنوان علامة التبويب لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن "tabs".

  • url

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

    آخر عنوان URL تمّ تأكيده للإطار الرئيسي لعلامة التبويب. لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن "tabs"، وقد تكون سلسلة فارغة إذا لم يتمّ تأكيد علامة التبويب بعد. راجِع أيضًا Tab.pendingUrl.

  • العرض

    رقم اختياري

    عرض علامة التبويب بالبكسل.

  • windowId

    الرقم

    رقم تعريف النافذة التي تحتوي على علامة التبويب

TabStatus

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

حالة تحميل علامة التبويب

Enum

"unloaded"

"جارٍ التحميل"

"مكتملة"

WindowType

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

نوع النافذة.

التعداد

"عادي"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

تحدِّد كيفية معالجة تغييرات التكبير/التصغير في علامة تبويب ونطاقها.

أماكن إقامة

  • defaultZoomFactor

    رقم اختياري

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

    تُستخدَم لعرض مستوى التكبير أو التصغير التلقائي لعلامة التبويب الحالية في طلبات الاتصال بـ tabs.getZoomSettings.

  • الوضع

    ZoomSettingsMode اختياري

    يحدِّد كيفية التعامل مع تغييرات التصغير/التكبير، أي الكيان المسؤول عن تغيير حجم الصفحة الفعلي. القيمة التلقائية هي automatic.

  • نطاق

    ZoomSettingsScope اختياري

    يحدِّد ما إذا كانت تغييرات التصغير/التكبير تبقى سارية في مصدر الصفحة أو تسري فقط في علامة التبويب هذه. الإعداد التلقائي هو per-origin في وضع automatic وper-tab في غير ذلك.

ZoomSettingsMode

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

يحدِّد كيفية التعامل مع تغييرات التصغير/التكبير، أي الكيان المسؤول عن تغيير حجم الصفحة الفعلي. القيمة التلقائية هي automatic.

التعداد

"تلقائي"
يعالج المتصفّح تغييرات التكبير/التصغير تلقائيًا.

"يدوي"
يلغى المعالجة التلقائية لتغييرات التكبير/التصغير. سيظلّ يتم إرسال الحدث onZoomChange، وتكون مسؤولية الإضافة هي الاستماع إلى هذا الحدث وتغيير حجم الصفحة يدويًا. لا يتيح هذا الوضع التكبير/التصغير بنسبة per-origin، وبالتالي يتجاهل إعداد التكبير/التصغير بنسبة scope ويفترض أنّه per-tab.

"معطل"
لإيقاف جميع عمليات التكبير/التصغير في علامة التبويب تعود علامة التبويب إلى مستوى التكبير أو التصغير التلقائي، ويتم تجاهل جميع التغييرات التي تمّت محاولة إجراؤها على مستوى التكبير أو التصغير.

ZoomSettingsScope

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

لتحديد ما إذا كانت تغييرات التكبير/التصغير ستستمر في مصدر الصفحة أم أنها ستدخل حيز التنفيذ في علامة التبويب هذه فقط، ويتم ضبطها تلقائيًا على per-origin عند استخدام الوضع automatic، وper-tab في الحالات الأخرى.

Enum

"حسب المصدر"
تبقى تغييرات التكبير/التصغير محفوظة في مصدر الصفحة التي تم تكبيرها، أي أنّه يتم تكبير جميع علامات التبويب الأخرى التي يتم الانتقال إليها من هذا المصدر نفسه أيضًا. إضافةً إلى ذلك، يتم حفظ تغييرات التكبير/التصغير per-origin مع المصدر، ما يعني أنّه عند الانتقال إلى صفحات أخرى في المصدر نفسه، يتم تكبيرها جميعًا باستخدام عامل التكبير نفسه. لا يتوفّر نطاق per-origin إلا في وضع automatic.

"لكل علامة تبويب"
لا تسري تغييرات التكبير/التصغير إلا في علامة التبويب هذه، ولا تؤثّر تغييرات التكبير/التصغير في علامات التبويب الأخرى في التكبير/التصغير في علامة التبويب هذه. بالإضافة إلى ذلك، تتم إعادة ضبط التغييرات في per-tabالتكبير/التصغير عند التنقّل، حيث يؤدي التنقّل في علامة تبويب إلى تحميل الصفحات دائمًا باستخدام عوامل per-originالتكبير/التصغير.

أماكن إقامة

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

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

الحد الأقصى لعدد المرات التي يمكن فيها استدعاء captureVisibleTab في الثانية captureVisibleTab باهظ الثمن ويجب عدم الاتصال به كثيرًا.

القيمة

2

TAB_ID_NONE

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

معرّف يمثّل عدم توفّر علامة تبويب في المتصفّح

القيمة

-1

TAB_INDEX_NONE

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

فهرس يمثّل عدم توفّر فهرس علامة تبويب في tab_strip

القيمة

-1

الطُرق

captureVisibleTab()

الوعد
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)

لالتقاط المنطقة المرئية لعلامة التبويب النشطة حاليًا في النافذة المحدّدة لاستدعاء هذه الطريقة، يجب أن تحصل الإضافة على إذن <all_urls> أو إذن activeTab. بالإضافة إلى المواقع الإلكترونية التي يمكن للإضافات الوصول إليها بشكلٍ طبيعي، تسمح هذه الطريقة للإضافات بتسجيل المواقع الإلكترونية الحسّاسة التي تكون محظورة بخلاف ذلك، بما في ذلك صفحات chrome:-scheme وصفحات الإضافات الأخرى وعناوين URL الخاصة بـ data:. ولا يمكن تسجيل هذه المواقع الإلكترونية الحسّاسة إلا باستخدام إذن activeTab. قد يتم التقاط عناوين URL للملفات فقط إذا تم منح الإضافة الإذن بالوصول إلى الملف.

المعلمات

  • windowId

    الرقم اختياري

    النافذة المستهدَفة الإعداد التلقائي هو النافذة الحالية.

  • الخيارات

    ImageDetails اختيارية

  • ردّ الاتصال

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

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

    (dataUrl: string) => void

    • dataUrl

      سلسلة

      عنوان URL للبيانات الذي يشفِّر صورة للمنطقة المرئية من علامة التبويب التي تم التقاطها يمكن تعيينه إلى سمة src لعنصر img في HTML لعرضه.

المرتجعات

  • Promise<string>

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

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

connect()

chrome.tabs.connect(
  tabId: number,
  connectInfo?: object,
)

يتم ربطها بنصوص المحتوى في علامة التبويب المحدّدة. يتم تشغيل الحدث runtime.onConnect في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافات الحالية. لمزيد من التفاصيل، يُرجى الاطّلاع على الرسائل في محتوى Script.

المعلمات

  • tabId

    الرقم

  • connectInfo

    العنصر اختياري

    • documentId

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

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

      افتح منفذًا إلى مستند معيّن تم التعرّف عليه من خلال documentId بدلاً من جميع الإطارات في علامة التبويب.

    • frameId

      رقم اختياري

      افتح منفذًا إلى إطار معيّن يحدّده frameId بدلاً من جميع الإطارات في علامة التبويب.

    • الاسم

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

      يتم تمريرها إلى onConnect لنصوص المحتوى التي تستمع إلى حدث الاتصال.

المرتجعات

  • منفذ يمكن استخدامه للتواصل مع النصوص البرمجية للمحتوى قيد التشغيل في علامة التبويب المحددة. يتم تنشيط الحدث runtime.Port للمنفذ إذا تم إغلاق علامة التبويب أو لم تكن متوفّرة.

create()

الوعد
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)

لإنشاء علامة تبويب جديدة.

المعلمات

  • createProperties

    عنصر

    • نشطة

      منطقي اختياري

      ما إذا كان يجب أن تصبح علامة التبويب علامة التبويب النشطة في النافذة لا يؤثّر هذا الخيار في ما إذا كان يتم التركيز على النافذة (راجِع windows.update). القيمة التلقائية هي true.

    • المؤشر

      رقم اختياري

      الموضع الذي يجب أن تشغله علامة التبويب في النافذة يتم ضبط القيمة المقدَّمة بين صفر وعدد علامات التبويب في النافذة.

    • openerTabId

      رقم اختياري

      رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه. إذا تم تحديدها، يجب أن تكون علامة التبويب المفتوحة في النافذة نفسها التي تتضمّن علامة التبويب التي تم إنشاؤها حديثًا.

    • تم تثبيته

      منطقي اختياري

      ما إذا كان يجب تثبيت علامة التبويب الإعداد التلقائي هو false

    • تم تحديد هذا الخيار

      منطقي اختياري

      تمّ إيقافه نهائيًا

      يُرجى استخدام نشِط.

      ما إذا كان يجب أن تصبح علامة التبويب هي علامة التبويب المحدّدة في النافذة القيمة التلقائية هي true.

    • url

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

      عنوان URL الذي يتم الانتقال إليه في البداية من خلال علامة التبويب. يجب أن تتضمّن عناوين URL المؤهَّلة بالكامل مخطّطًا (أي ‎"http://www.google.com"، وليس ‎"www.google.com"). ترتبط عناوين URL النسبية بالصفحة الحالية داخل الإضافة. يتم ضبطها تلقائيًا على صفحة "علامة تبويب جديدة".

    • windowId

      رقم اختياري

      النافذة التي سيتم إنشاء علامة التبويب الجديدة فيها يتم استخدام القيمة التلقائية على النافذة الحالية.

  • ردّ الاتصال

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

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

    (tab: Tab) => void

المرتجعات

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

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

detectLanguage()

الوعد
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)

ترصد هذه الميزة اللغة الأساسية للمحتوى في علامة تبويب.

المعلمات

  • tabId

    رقم اختياري

    يتم ضبط الإعدادات التلقائية على علامة التبويب النشطة في النافذة الحالية.

  • ردّ الاتصال

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

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

    (language: string) => void

    • language

      سلسلة

      رمز لغة وفقًا لمعيار ISO، مثل en أو fr للحصول على قائمة كاملة باللغات المتوافقة مع هذه الطريقة، راجِع kLanguageInfoTable. يتم التحقّق من العمود الثاني إلى الرابع وعرض أول قيمة غير فارغة، باستثناء الصينية المبسّطة التي يتم عرض zh-CN فيها. للغة غير معروفة/غير معروفة، يتم عرض und.

المرتجعات

  • Promise<string>

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

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

discard()

الوعد Chrome 54 والإصدارات الأحدث
chrome.tabs.discard(
  tabId?: number,
  callback?: function,
)

يُلغي علامة تبويب من الذاكرة. ستظل علامات التبويب التي تم تجاهلها مرئية على شريط علامات التبويب وتتم إعادة تحميلها عند تفعيلها.

المعلمات

  • tabId

    الرقم اختياري

    رقم تعريف علامة التبويب المطلوب تجاهلها في حال تحديدها، يتم تجاهل علامة التبويب ما لم تكن نشطة أو تم تجاهلها من قبل. في حال تم حذفها، يتجاهل المتصفح علامة التبويب الأقل أهمية. يمكن أن يتعذّر تنفيذ ذلك إذا لم تكن هناك علامات تبويب يمكن تجاهلها.

  • ردّ الاتصال

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

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

    (tab?: Tab) => void

    • tab

      علامة تبويب اختيارية

      علامة التبويب التي تم تجاهلها، إذا تم تجاهلها بنجاح، وتكون غير محدّدة في حال أخرى

المرتجعات

  • Promise<Tab | undefined>

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

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

duplicate()

وعد بذلك
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)

تكرار علامة تبويب

المعلمات

  • tabId

    الرقم

    رقم تعريف علامة التبويب المطلوب تكرارها.

  • ردّ الاتصال

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

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

    (tab?: Tab) => void

    • tab

      علامة التبويب اختيارية

      تفاصيل حول علامة التبويب المكرّرة لا يحتوي عنصر tabs.Tab على url وpendingUrl وtitle وfavIconUrl إذا لم يتم طلب إذن "tabs".

المرتجعات

  • Promise<Tab | undefined>

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

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

executeScript()

Promise &leq; MV2 تم إيقافه نهائيًا منذ Chrome 91
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

تم استبداله بـ scripting.executeScript في إصدار Manifest V3.

يتم إدخال رمز JavaScript في صفحة. لمعرفة التفاصيل، يُرجى الاطّلاع على قسم الاستيراد الآلي في مستند نصوص المحتوى.

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب التي سيتم تشغيل النص البرمجي فيها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • التفاصيل

    تفاصيل النص البرمجي المطلوب تشغيله. يجب ضبط رمز الملف أو خاصيته، ولكن لا يمكن ضبط كليهما في الوقت نفسه.

  • ردّ الاتصال

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

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

    (result?: any[]) => void

    • نتيجة

      أيّ[] اختيارية

      نتيجة النص البرمجي في كل إطار تمّت حقنه

المرتجعات

  • Promise<any[] | undefined>

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

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

get()

وعد بذلك
chrome.tabs.get(
  tabId: number,
  callback?: function,
)

لاسترداد التفاصيل حول علامة التبويب المحددة.

المعلمات

  • tabId

    الرقم

  • ردّ الاتصال

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

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

    (tab: Tab) => void

المرتجعات

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

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

getAllInWindow()

Promise &leq; MV2 تم إيقافه نهائيًا
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

يُرجى استخدام tabs.query {windowId: windowId}.

الحصول على تفاصيل عن جميع علامات التبويب في النافذة المحدّدة

المعلمات

  • windowId

    الرقم اختياري

    الإعداد التلقائي هو النافذة الحالية.

  • ردّ الاتصال

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

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

    (tabs: Tab[]) => void

المرتجعات

  • وعود<Tab[]>

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

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

getCurrent()

الوعد
chrome.tabs.getCurrent(
  callback?: function,
)

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

المعلمات

  • ردّ الاتصال

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

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

    (tab?: Tab) => void

المرتجعات

  • Promise<Tab | undefined>

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

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

getSelected()

Promise &leq; MV2 تم إيقافه نهائيًا
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

يُرجى استخدام tabs.query {active: true}.

تحصل على علامة التبويب المحدّدة في النافذة المحدّدة.

المعلمات

  • windowId

    رقم اختياري

    يتم استخدام القيمة التلقائية على النافذة الحالية.

  • رد الاتصال

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

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

    (tab: Tab) => void

المرتجعات

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

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

getZoom()

وعد بذلك
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)

تحصل على عامل التكبير الحالي لعلامة تبويب محدّدة.

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب التي يتم الحصول على عامل التكبير الحالي منها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • رد الاتصال

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

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

    (zoomFactor: number) => void

    • zoomFactor

      الرقم

      عامل التكبير أو التصغير الحالي لعلامة التبويب

المرتجعات

  • Promise<number>

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

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

getZoomSettings()

الوعد
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)

الحصول على إعدادات التكبير/التصغير الحالية لعلامة تبويب محدّدة

المعلمات

  • tabId

    الرقم اختياري

    رقم تعريف علامة التبويب التي يتم الحصول على إعدادات التصغير/التكبير الحالية منها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • ردّ الاتصال

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

      إعدادات التكبير/التصغير الحالية لعلامة التبويب

المرتجعات

  • التعهد بتقديم <ZoomSettings>

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

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

goBack()

الوعد Chrome 72 والإصدارات الأحدث
chrome.tabs.goBack(
  tabId?: number,
  callback?: function,
)

الرجوع إلى الصفحة السابقة في حال توفّرها

المعلمات

  • tabId

    رقم اختياري

    معرّف علامة التبويب التي تريد الرجوع إليها، ويتم ضبطه تلقائيًا على علامة التبويب المحدّدة في النافذة الحالية.

  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

goForward()

الوعد Chrome 72 والإصدارات الأحدث
chrome.tabs.goForward(
  tabId?: number,
  callback?: function,
)

انتقِل إلى الصفحة التالية، إذا كانت متاحة.

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب للانتقال إلى الأمام، ويتم ضبطه تلقائيًا على علامة التبويب المحددة في النافذة الحالية.

  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

group()

الوعد Chrome 88 والإصدارات الأحدث
chrome.tabs.group(
  options: object,
  callback?: function,
)

تُضيف علامة تبويب واحدة أو أكثر إلى مجموعة محدّدة، أو في حال عدم تحديد مجموعة، تُضيف علامات التبويب المحدّدة إلى مجموعة تم إنشاؤها حديثًا.

المعلمات

  • الخيارات

    عنصر

    • createProperties

      العنصر اختياري

      الإعدادات لإنشاء مجموعة لا يمكن استخدامه إذا سبق تحديد groupId.

      • windowId

        رقم اختياري

        نافذة المجموعة الجديدة يتم ضبطها تلقائيًا على النافذة الحالية.

    • groupId

      رقم اختياري

      رقم تعريف المجموعة المطلوب إضافة علامات التبويب إليها في حال عدم تحديد مجموعة، سيتم إنشاء مجموعة جديدة.

    • tabIds

      عدد | [عدد, ...عدد[]]

      رقم تعريف علامة التبويب أو قائمة بأرقام تعريف علامات التبويب المطلوب إضافتها إلى المجموعة المحدّدة

  • رد الاتصال

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

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

    (groupId: number) => void

    • groupId

      الرقم

      رقم تعريف المجموعة التي تمت إضافة علامات التبويب إليها.

المرتجعات

  • وعد <number>

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

highlight()

الوعد
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)

يُبرز علامات التبويب المحدّدة ويركز على علامة التبويب الأولى في المجموعة. لن يتخذ أي إجراء إذا كانت علامة التبويب المحدّدة نشطة حاليًا.

المعلمات

  • highlightInfo

    عنصر

    • علامات التبويب

      رقم | رقم[]

      فهرس علامة تبويب واحد أو أكثر لتمييزه

    • windowId

      رقم اختياري

      النافذة التي تحتوي على علامات التبويب

  • ردّ الاتصال

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

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

    (window: Window) => void

    • نافذة

      يحتوي على تفاصيل حول النافذة التي تم تمييز علامات التبويب فيها.

المرتجعات

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

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

insertCSS()

Promise &leq; MV2 تم إيقافه نهائيًا منذ Chrome 91
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

تم استبداله بـ scripting.insertCSS في الإصدار 3 من ملف البيان.

يتم إدخال صفحات CSS في صفحة. يمكن إزالة الأنماط المُدرجة بهذه الطريقة باستخدام scripting.removeCSS. لمعرفة التفاصيل، يُرجى الاطّلاع على قسم الاستيراد الآلي في مستند نصوص المحتوى.

المعلمات

  • tabId

    الرقم اختياري

    رقم تعريف علامة التبويب التي سيتم إدراج ملف CSS فيها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • التفاصيل

    تفاصيل نص CSS المطلوب إدراجه يجب ضبط رمز الملف أو خاصيته، ولكن لا يمكن ضبط كليهما في الوقت نفسه.

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

move()

وعد بذلك
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)

نقل علامة تبويب واحدة أو أكثر إلى موضع جديد في نافذتها أو إلى نافذة جديدة لاحظ أنه لا يمكن نقل علامات التبويب إلا من النوافذ العادية (window.type === "normal") وإليها.

المعلمات

  • tabIds

    عدد | عدد[]

    رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب نقلها

  • moveProperties

    عنصر

    • المؤشر

      الرقم

      الموضع الذي تريد نقل النافذة إليه. استخدِم -1 لوضع علامة التبويب في نهاية النافذة.

    • windowId

      رقم اختياري

      يتم ضبطها تلقائيًا على النافذة التي تظهر فيها علامة التبويب حاليًا.

  • ردّ الاتصال

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

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

    (tabs: Tab | Tab[]) => void

المرتجعات

  • Promise<Tab | Tab[]>

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

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

query()

الوعد
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)

تحصل على جميع علامات التبويب التي تحتوي على السمات المحدّدة، أو جميع علامات التبويب في حال عدم تحديد أي سمات.

المعلمات

  • queryInfo

    عنصر

    • نشطة

      منطقي اختياري

      ما إذا كانت علامات التبويب نشطة في النوافذ

    • تطبيق audible

      قيمة منطقية اختيارية

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

      ما إذا كانت علامات التبويب مسموعة

    • autoDiscardable

      منطقي اختياري

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

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

    • currentWindow

      منطقي اختياري

      ما إذا كانت علامات التبويب في النافذة الحالية

    • تم التجاهل

      منطقي اختياري

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

      ما إذا كان سيتم تجاهل علامات التبويب علامة التبويب التي تم تجاهلها هي علامة تم تفريغ محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. وتتم إعادة تحميل محتواها عند تفعيله في المرة التالية.

    • مجمّد

      منطقي اختياري

      في انتظار المراجعة

      ما إذا تم تجميد علامات التبويب أم لا. لا يمكن لعلامة التبويب المجمّدة تنفيذ المهام، بما في ذلك معالجات الأحداث أو الموقّتات. تظهر الصورة في شريط علامات التبويب ويتم تحميل محتواها في الذاكرة. ويتم إلغاء تجميدها عند التفعيل.

    • groupId

      رقم اختياري

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

      رقم تعريف المجموعة التي تندرج ضمنها علامات التبويب، أو tabGroups.TAB_GROUP_ID_NONE لعلامات التبويب غير المجمّعة

    • بارزة

      منطقي اختياري

      ما إذا كانت علامات التبويب مميّزة

    • المؤشر

      رقم اختياري

      موضع علامات التبويب داخل نوافذها.

    • lastFocusedWindow

      قيمة منطقية اختيارية

      ما إذا كانت علامات التبويب في النافذة التي تم التركيز عليها مؤخرًا

    • تم كتم الصوت

      منطقي اختياري

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

      ما إذا كانت علامات التبويب مكتومة الصوت

    • تم تثبيته

      منطقي اختياري

      ما إذا كانت علامات التبويب قد تم تثبيتها

    • status

      TabStatus اختيارية

      حالة تحميل علامة التبويب

    • title

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

      مطابقة عناوين الصفحات مع نمط يتم تجاهل هذه السمة إذا لم تكن الإضافية تملك الإذن "tabs".

    • url

      سلسلة | سلسلة[] اختيارية

      مطابقة علامات التبويب مع نمط عنوان URL واحد أو أكثر معرّفات الأجزاء غير متطابقة. يتم تجاهل هذه السمة إذا لم يكن للإضافة إذن "tabs".

    • windowId

      رقم اختياري

      رقم تعريف النافذة الرئيسية، أو windows.WINDOW_ID_CURRENT للإشارة إلى النافذة الحالية.

    • windowType

      WindowType اختياري

      نوع النافذة التي توجد بها علامات التبويب.

  • ردّ الاتصال

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

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

    (result: Tab[]) => void

المرتجعات

  • Promise<Tab[]>

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

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

reload()

وعد بذلك
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)

أعِد تحميل علامة تبويب.

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب المطلوب إعادة تحميلها، وهو الإعداد التلقائي على علامة التبويب المحدَّدة في النافذة الحالية.

  • reloadProperties

    العنصر اختياري

    • bypassCache

      منطقي اختياري

      تحديد ما إذا كان سيتم تجاوز التخزين المؤقت المحلي أم لا. وتكون القيمة التلقائية هي false.

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

remove()

الوعد
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)

يغلق هذا الزر علامة تبويب واحدة أو أكثر.

المعلمات

  • tabIds

    عدد | عدد[]

    رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إغلاقها

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

removeCSS()

Promise Chrome 87 والإصدارات الأحدث &leq; MV2 تم إيقافه نهائيًا بدءًا من Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

تم استبداله بـ scripting.removeCSS في الإصدار 3 من ملف البيان.

تزيل هذه الوظيفة من الصفحة ملف CSS الذي تم إدخاله سابقًا من خلال طلب إلى scripting.insertCSS.

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب التي تريد إزالة CSS منها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • التفاصيل

    تفاصيل نص CSS المطلوب إزالته يجب ضبط رمز الملف أو خاصيته، ولكن لا يمكن ضبط كليهما في الوقت نفسه.

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

sendMessage()

الوعد
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)

يرسل رسالة واحدة إلى النصوص البرمجية للمحتوى في علامة التبويب المحدّدة، مع استدعاء اختياري لتشغيله عند إرسال الرد. يتم تشغيل الحدث runtime.onMessage في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافات الحالية.

المعلمات

  • tabId

    الرقم

  • رسالة

    أي واحد

    الرسالة المطلوب إرسالها يجب أن تكون هذه الرسالة عنصرًا قابلاً للتحويل إلى تنسيق JSON.

  • الخيارات

    العنصر اختياري

    • documentId

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

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

      إرسال رسالة إلى مستند محدّد يُشار إليه بالرمز documentId بدلاً من جميع الإطارات في علامة التبويب

    • frameId

      رقم اختياري

      إرسال رسالة إلى إطار محدّد يُحدَّد من خلال frameId بدلاً من جميع الإطارات في علامة التبويب

  • رد الاتصال

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

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

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

    (response: any) => void

    • رد

      أي واحد

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

المرتجعات

  • Promise<any>

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

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

sendRequest()

Promise &leq; MV2 متوقّفة نهائيًا
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

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

تُرسِل هذه الوظيفة طلبًا واحدًا إلى نصوص المحتوى في علامة التبويب المحدّدة، مع إجراء استدعاء اختياري لتنفيذه عند إرسال ردّ. يتم تشغيل الحدث extension.onRequest في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافات الحالية.

المعلمات

  • tabId

    الرقم

  • طلب

    أي واحد

  • ردّ الاتصال

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

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

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

    (response: any) => void

    • رد

      أي واحد

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

المرتجعات

  • Promise<any>

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

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

setZoom()

وعد بذلك
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)

تكبير علامة تبويب محدّدة

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب المطلوب تكبيرها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • zoomFactor

    الرقم

    عامل التكبير أو التصغير الجديد تؤدي القيمة 0 إلى ضبط علامة التبويب على عامل التكبير التلقائي الحالي. تحدّد القيم الأكبر من 0 عامل تكبير (قد لا يكون تلقائيًا) للعلامة.

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

setZoomSettings()

الوعد
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)

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

المعلمات

  • tabId

    رقم اختياري

    رقم تعريف علامة التبويب التي تريد تغيير إعدادات التكبير/التصغير لها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.

  • zoomSettings

    يحدِّد كيفية التعامل مع تغييرات التكبير/التصغير ونطاقها.

  • رد الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

ungroup()

الوعد Chrome 88 والإصدارات الأحدث
chrome.tabs.ungroup(
  tabIds: number | [number, ...number[]],
  callback?: function,
)

تزيل علامة تبويب واحدة أو أكثر من مجموعاتها المعنيّة. إذا أصبحت أي مجموعات فارغة، يتم حذفها.

المعلمات

  • tabIds

    عدد | [عدد, ...عدد[]]

    رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إزالتها من مجموعاتها المعنيّة

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • وعود <باطلة>

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

update()

الوعد
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)

لتعديل خصائص علامة تبويب لا يتم تعديل السمات التي لم يتم تحديدها في updateProperties.

المعلمات

  • tabId

    رقم اختياري

    يتم ضبط الإعدادات التلقائية على علامة التبويب المحدّدة في النافذة الحالية.

  • updateProperties

    عنصر

    • نشطة

      منطقي اختياري

      ما إذا كان يجب أن تكون علامة التبويب نشطة لا تؤثّر هذه العلامة في ما إذا كان سيتم التركيز على النافذة (راجِع windows.update).

    • autoDiscardable

      منطقي اختياري

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

      ما إذا كان المتصفح سيتجاهل علامة التبويب تلقائيًا عند انخفاض الموارد

    • بارزة

      منطقي اختياري

      تُضيف علامة التبويب أو تُزيلها من التحديد الحالي.

    • تم كتم الصوت

      منطقي اختياري

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

      ما إذا كان يجب كتم صوت علامة التبويب

    • openerTabId

      رقم اختياري

      رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه. في حال تحديدها، يجب أن تكون علامة التبويب المفتوحة في النافذة نفسها التي تظهر فيها هذه العلامة.

    • تم تثبيته

      منطقي اختياري

      ما إذا كان يجب تثبيت علامة التبويب

    • تم تحديد هذا الخيار

      منطقي اختياري

      متوقّفة نهائيًا

      يُرجى استخدام القيمة المميّزة.

      ما إذا كان يجب اختيار علامة التبويب

    • url

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

      عنوان URL الذي تريد الانتقال إليه في علامة التبويب لا يمكن استخدام عناوين URL لرمز JavaScript، لذا استخدِم scripting.executeScript بدلاً من ذلك.

  • ردّ الاتصال

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

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

    (tab?: Tab) => void

    • tab

      علامة تبويب اختيارية

      تفاصيل حول علامة التبويب المعدّلة لا يحتوي عنصر tabs.Tab على url وpendingUrl وtitle وfavIconUrl إذا لم يتم طلب إذن "tabs".

المرتجعات

  • Promise<Tab | undefined>

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

    تتوفّر الوعود في الإصدار Manifest V3 والإصدارات الأحدث، ولكن يتم توفير عمليات معاودة الاتصال للتوافق مع الأنظمة القديمة. ولا يمكنك استخدام كليهما في طلب الدالة نفسه. يتم حلّ الوعد بالنوع نفسه الذي يتم تمريره إلى دالة الاستدعاء.

الفعاليات

onActivated

chrome.tabs.onActivated.addListener(
  callback: function,
)

يتم تشغيله عند تغيير علامة التبويب النشطة في نافذة. يُرجى العِلم أنّه قد لا يتم ضبط عنوان URL للعلامة تبويب في وقت بدء هذا الحدث، ولكن يمكنك الاستماع إلى أحداث onUpdated للحصول على إشعار عند ضبط عنوان URL.

المعلمات

  • ردّ الاتصال

    دالة

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

    (activeInfo: object) => void

    • activeInfo

      عنصر

      • tabId

        الرقم

        رقم تعريف علامة التبويب التي أصبحت نشطة.

      • windowId

        الرقم

        رقم تعريف النافذة التي غيّرت علامة التبويب النشطة داخلها

onActiveChanged

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

يُرجى استخدام tabs.onActivated.

يتم تشغيله عند تغيير علامة التبويب المحدّدة في نافذة. يُرجى العِلم أنّه قد لا يتم ضبط عنوان URL للعلامة تبويب في وقت بدء هذا الحدث، ولكن يمكنك الاستماع إلى أحداث tabs.onUpdated لتلقّي إشعار عند ضبط عنوان URL.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, selectInfo: object) => void

    • tabId

      الرقم

    • selectInfo

      عنصر

      • windowId

        الرقم

        معرّف النافذة التي تم تغيير علامة التبويب المحدّدة فيها.

onAttached

chrome.tabs.onAttached.addListener(
  callback: function,
)

يتم تشغيله عند إرفاق علامة تبويب بنافذة، على سبيل المثال، بسبب نقلها بين النوافذ.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, attachInfo: object) => void

    • tabId

      الرقم

    • attachInfo

      عنصر

      • newPosition

        الرقم

      • newWindowId

        الرقم

onCreated

chrome.tabs.onCreated.addListener(
  callback: function,
)

يتم تنشيطها عند إنشاء علامة تبويب. يُرجى العِلم أنّه قد لا يتم ضبط عنوان URL لعلامة التبويب وعضويتها في مجموعة علامات التبويب في وقت بدء هذا الحدث، ولكن يمكنك الاستماع إلى أحداث onUpdated للحصول على إشعار عند ضبط عنوان URL أو إضافة علامة التبويب إلى مجموعة علامات تبويب.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tab: Tab) => void

onDetached

chrome.tabs.onDetached.addListener(
  callback: function,
)

يتم تشغيله عند فصل علامة تبويب عن نافذة، على سبيل المثال، بسبب نقلها بين النوافذ.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, detachInfo: object) => void

    • tabId

      الرقم

    • detachInfo

      عنصر

      • oldPosition

        الرقم

      • oldWindowId

        الرقم

onHighlightChanged

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

يُرجى استخدام tabs.onHighlighted.

يتم تشغيله عند تغيُّر علامات التبويب المميّزة أو المحدّدة في إحدى النوافذ.

المعلمات

  • ردّ الاتصال

    دالة

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

    (selectInfo: object) => void

    • selectInfo

      عنصر

      • tabIds

        number[]

        جميع علامات التبويب المميّزة في النافذة

      • windowId

        الرقم

        النافذة التي تم تغيير علامات التبويب الخاصة بها

onHighlighted

chrome.tabs.onHighlighted.addListener(
  callback: function,
)

يتم تشغيله عند تغيير علامات التبويب المميّزة أو المحدّدة في نافذة.

المعلمات

  • ردّ الاتصال

    دالة

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

    (highlightInfo: object) => void

    • highlightInfo

      عنصر

      • tabIds

        number[]

        جميع علامات التبويب المميّزة في النافذة

      • windowId

        الرقم

        النافذة التي تم تغيير علامات التبويب الخاصة بها

onMoved

chrome.tabs.onMoved.addListener(
  callback: function,
)

يتم تفعيله عند نقل علامة تبويب داخل نافذة. يتم بدء حدث نقل واحد فقط يمثّل علامة التبويب التي نقلها المستخدم مباشرةً. لا يتم تشغيل أحداث النقل لعلامات التبويب الأخرى التي يجب نقلها استجابةً لعلامة التبويب التي تم نقلها يدويًا. لا يتم تنشيط هذا الحدث عند نقل علامة تبويب بين النوافذ. لمعرفة التفاصيل، يُرجى الاطّلاع على tabs.onDetached.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, moveInfo: object) => void

    • tabId

      الرقم

    • moveInfo

      عنصر

      • fromIndex

        الرقم

      • toIndex

        الرقم

      • windowId

        الرقم

onRemoved

chrome.tabs.onRemoved.addListener(
  callback: function,
)

يتم إطلاقه عند إغلاق علامة تبويب.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, removeInfo: object) => void

    • tabId

      الرقم

    • removeInfo

      عنصر

      • isWindowClosing

        قيمة منطقية

        صحيح عندما تم إغلاق علامة التبويب لأنّ النافذة الرئيسية تم إغلاقها.

      • windowId

        الرقم

        النافذة التي تم إغلاق علامة التبويب الخاصة بها

onReplaced

chrome.tabs.onReplaced.addListener(
  callback: function,
)

يتم تشغيله عند استبدال علامة تبويب بعلامة تبويب أخرى بسبب العرض المُسبَق أو العرض الفوري.

المعلمات

  • ردّ الاتصال

    دالة

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

    (addedTabId: number, removedTabId: number) => void

    • addedTabId

      الرقم

    • removedTabId

      الرقم

onSelectionChanged

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

يُرجى استخدام tabs.onActivated.

يتم تشغيله عند تغيير علامة التبويب المحدّدة في نافذة.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, selectInfo: object) => void

    • tabId

      الرقم

    • selectInfo

      عنصر

      • windowId

        الرقم

        معرّف النافذة التي تم تغيير علامة التبويب المحدّدة فيها.

onUpdated

chrome.tabs.onUpdated.addListener(
  callback: function,
)

يتم تشغيله عند تعديل علامة تبويب.

المعلمات

  • ردّ الاتصال

    دالة

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

    (tabId: number, changeInfo: object, tab: Tab) => void

    • tabId

      الرقم

    • changeInfo

      عنصر

      • تطبيق audible

        قيمة منطقية اختيارية

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

        الحالة الصوتية الجديدة لعلامة التبويب

      • autoDiscardable

        منطقي اختياري

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

        الحالة الجديدة لميزة "التخلص التلقائي" لعلامة التبويب

      • تم التجاهل

        منطقي اختياري

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

        حالة تجاهل علامة التبويب الجديدة

      • favIconUrl

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

        عنوان URL الجديد للرمز المفضّل لعلامة التبويب

      • معلّقة

        منطقي اختياري

        في انتظار المراجعة

        الحالة الثابتة الجديدة لعلامة التبويب

      • groupId

        رقم اختياري

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

        مجموعة علامات التبويب الجديدة.

      • mutedInfo

        MutedInfo اختياري

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

        حالة كتم الصوت الجديدة لعلامة التبويب وسبب التغيير.

      • تم تثبيته

        قيمة منطقية اختيارية

        الحالة الجديدة لعلامة التبويب المثبَّتة

      • status

        TabStatus اختياري

        حالة تحميل علامة التبويب

      • title

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

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

        عنوان علامة التبويب الجديد.

      • url

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

        عنوان URL للعلامة تبويب إذا تغيّر

onZoomChange

chrome.tabs.onZoomChange.addListener(
  callback: function,
)

يتم تشغيله عند تكبير علامة تبويب.

المعلمات

  • ردّ الاتصال

    دالة

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      عنصر

      • newZoomFactor

        الرقم

      • oldZoomFactor

        الرقم

      • tabId

        الرقم

      • zoomSettings