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

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

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

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

    عنوان 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 والإصدارات الأحدث

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

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 والإصدارات الأحدث

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

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 والإصدارات الأحدث

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

discard()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    (tab?: Tab) => void

    • tab

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

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

المرتجعات

  • Promise<Tab | undefined>

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

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

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 والإصدارات الأحدث

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

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 والإصدارات الأحدث

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

get()

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

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

المعلمات

  • tabId

    الرقم

  • ردّ الاتصال

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

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

    (tab: Tab) => void

المرتجعات

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

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

getAllInWindow()

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

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

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

المعلمات

  • windowId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    (tabs: Tab[]) => void

المرتجعات

  • Promise<Tab[]>

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

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

getCurrent()

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

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

المعلمات

  • ردّ الاتصال

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

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

    (tab?: Tab) => void

المرتجعات

  • Promise<Tab | undefined>

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

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

getSelected()

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

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

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

المعلمات

  • windowId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    (tab: Tab) => void

المرتجعات

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

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

getZoom()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    (zoomFactor: number) => void

    • zoomFactor

      الرقم

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

المرتجعات

  • Promise<number>

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

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

getZoomSettings()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

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

المرتجعات

  • Promise<ZoomSettings>

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

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

goBack()

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

الرجوع إلى الصفحة السابقة، إذا كانت متاحة

المعلمات

  • tabId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

goForward()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

group()

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

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

المعلمات

  • الخيارات

    عنصر

    • createProperties

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

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

      • windowId

        رقم اختياري

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

    • groupId

      رقم اختياري

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

    • tabIds

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

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

  • ردّ الاتصال

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

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

    (groupId: number) => void

    • groupId

      الرقم

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

المرتجعات

  • Promise<number>

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

highlight()

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

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

المعلمات

  • highlightInfo

    عنصر

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

      عدد | عدد[]

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

    • windowId

      رقم اختياري

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

  • ردّ الاتصال

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

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

    (window: Window) => void

    • نافذة

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

المرتجعات

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

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

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 والإصدارات الأحدث

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

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 والإصدارات الأحدث

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

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 والإصدارات الأحدث

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

reload()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • reloadProperties

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

    • bypassCache

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

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

remove()

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

إغلاق علامة تبويب واحدة أو أكثر

المعلمات

  • tabIds

    عدد | عدد[]

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

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 والإصدارات الأحدث

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

sendMessage()

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

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

المعلمات

  • tabId

    الرقم

  • رسالة

    أي واحد

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

  • الخيارات

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

    • documentId

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

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

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

    • frameId

      رقم اختياري

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

  • ردّ الاتصال

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

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

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

    (response: any) => void

    • رد

      أي واحد

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

المرتجعات

  • Promise<any>

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

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

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 والإصدارات الأحدث

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

setZoom()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • zoomFactor

    الرقم

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

setZoomSettings()

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

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

المعلمات

  • tabId

    رقم اختياري

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

  • zoomSettings

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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

ungroup()

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

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

المعلمات

  • tabIds

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

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

  • ردّ الاتصال

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

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

    () => void

المرتجعات

  • Promise<void>

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

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 والإصدارات الأحدث

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

الفعاليات

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