chrome.tabs

الوصف

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

نظرة عامة

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

الأذونات

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

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

إذن "علامات التبويب"
لا يمنح هذا الإذن إذن الوصول إلى مساحة الاسم chrome.tabs. بدلاً من ذلك، فإنه يمنح الإضافة إمكانية الاتصال بـ tabs.query() في أربع سمات حساسة في حالات tabs.Tab: url وpendingUrl وtitle و favIconUrl.
أذونات المضيف
أذونات المضيف: تسمح هذه الأذونات للإضافة بقراءة واستعلام عن السمات الأربعة tabs.Tab الحسّاسة لعلامة التبويب المطابقة. ويمكنهم أيضًا التفاعل مباشرةً مع علامات التبويب المطابقة باستخدام طرق مثل tabs.captureVisibleTab()، tabs.executeScript()، tabs.insertCSS()، tabs.removeCSS().
إذن activeTab
activeTab يمنح الإضافة إذن مضيف مؤقتًا للعلامة التبويب الحالية في استجابةً لطلب من المستخدم. على عكس أذونات المضيف، لا يؤدي activeTab إلى ظهور أي تحذيرات.

البيان

في ما يلي أمثلة على كيفية الإفصاح عن كل إذن في البيان:

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

  {
    "name": "My extension",
    ...
    "host_permissions": [
      "http://*/*",
      "https://*/*"
    ],
    ...
  }

  {
    "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

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

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

الخصائص

  • 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 اختياري

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

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

  • openerTabId

    رقم اختياري

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

  • pendingUrl

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

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

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

  • تم تثبيته

    قيمة منطقية

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

  • تم الاختيار

    قيمة منطقية

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

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

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

  • sessionId

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

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

  • status

    TabStatus اختياري

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

  • title

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

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

  • url

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

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

  • العرض

    رقم اختياري

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

  • windowId

    الرقم

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

TabStatus

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

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

تعداد

"unloaded"

"loading"

"مكتملة"

WindowType

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

نوع النافذة.

تعداد

"normal"

"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.

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

ZoomSettingsScope

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

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

تعداد

"حسب المصدر"
تبقى تغييرات التكبير/التصغير محفوظة في مصدر الصفحة التي تم تكبيرها، أي أنّه يتم تكبير جميع علامات التبويب الأخرى التي يتم الانتقال إليها من هذا المصدر نفسه أيضًا. بالإضافة إلى ذلك، 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

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

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

      فتح منفذ إلى مستند محدّد يُحدَّد من خلال 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

    • اللغة

      سلسلة

      رمز لغة وفقًا لمعيار 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 في الإصدار 3 من ملف البيان.

يتيح هذا الإذن إدخال رمز 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

المرتجعات

  • Promise<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

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

المرتجعات

  • Promise<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

      الرقم

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

المرتجعات

  • Promise<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

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

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

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

    • 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>

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

    لا تتوفّر الوعود إلا في الإصدار 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

المرتجعات

  • Promise<void>

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

update()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • updateProperties

    عنصر

    • نشطة

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

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

    • autoDiscardable

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

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

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

    • بارزة

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

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

    • تم كتم الصوت

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

      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 اختياري

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

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

      • تم تثبيته

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

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

      • status

        TabStatus اختياري

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

      • title

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

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

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

      • url

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

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

onZoomChange

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

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

المعلمات

  • ردّ الاتصال

    دالة

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      عنصر

      • newZoomFactor

        الرقم

      • oldZoomFactor

        الرقم

      • tabId

        الرقم

      • zoomSettings