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

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

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

الأنواع

MutedInfo

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

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

أماكن إقامة

  • extensionId

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

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

  • تم كتم الصوت

    منطقي

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

  • السبب

    MutedInfoReason اختياري

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

MutedInfoReason

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

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

Enum

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

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

"extension"
إضافة، يحدّدها حقل رقم تعريف الإضافة، حالة كتم الصوت.

Tab

أماكن إقامة

  • نشطة

    منطقي

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

  • تطبيق audible

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

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

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

  • autoDiscardable

    منطقي

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

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

  • تم التجاهل

    منطقي

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

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

  • favIconUrl

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

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

  • groupId

    الرقم

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

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

  • الطول

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

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

  • بارزة

    منطقي

    ما إذا كان قد تم تمييز علامة التبويب أم لا.

  • id

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

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

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

    منطقي

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

  • المؤشر

    الرقم

    الفهرس القائم على القيمة صفر لعلامة التبويب داخل النافذة.

  • lastAccessed

    الرقم

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

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

  • mutedInfo

    MutedInfo اختيارية

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

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

  • openerTabId

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

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

  • pendingUrl

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

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

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

  • تم تثبيته

    منطقي

    ما إذا تم تثبيت علامة التبويب أم لا

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

    منطقي

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

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

    لتحديد ما إذا كان قد تم اختيار علامة التبويب أم لا.

  • sessionId

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

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

  • status

    TabStatus اختيارية

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

  • title

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

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

  • url

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

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

  • العرض

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

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

  • windowId

    الرقم

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

TabStatus

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

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

Enum

"تم إلغاء التحميل"

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

"مكتملة"

WindowType

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

نوع النافذة

Enum

"عادي"

"نافذة منبثقة"

"اللوحة"

"التطبيق"

"أدوات مطوّري البرامج"

ZoomSettings

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

أماكن إقامة

  • defaultZoomFactor

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

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

    يتم استخدامه لعرض مستوى التكبير التلقائي لعلامة التبويب الحالية في عمليات الاستدعاء التي تتم من خلال Tab.getZoomSettings.

  • الوضع

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

  • نطاق

    ZoomSettingsScope اختياري

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

ZoomSettingsMode

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

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

Enum

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

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

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

ZoomSettingsScope

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

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

Enum

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

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

أماكن إقامة

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

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

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

القيمة

2

TAB_ID_NONE

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

رقم تعريف يشير إلى عدم توفّر علامة تبويب متصفّح.

القيمة

-1

TAB_INDEX_NONE

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

فهرس يُظهر عدم وجود فهرس علامة تبويب في Tab_strip.

القيمة

-1

الطُرق

captureVisibleTab()

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

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

المعلمات

  • windowId

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

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

  • الخيارات

    ImageDetails اختيارية

  • رد الاتصال

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

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

    (dataUrl: string) => void

    • dataUrl

      سلسلة

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

المرتجعات

  • وعود<string>

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

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

connect()

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

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

المعلمات

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

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

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

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

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

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

    • url

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

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

    • windowId

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

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

  • رد الاتصال

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

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

    (tab: Tab) => void

المرتجعات

  • وعود<Tab>

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

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

detectLanguage()

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

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

المعلمات

  • tabId

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

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

  • رد الاتصال

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

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

    (language: string) => void

    • language

      سلسلة

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

المرتجعات

  • وعود<string>

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

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

discard()

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

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

المعلمات

  • tabId

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

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

  • رد الاتصال

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

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

    (tab?: Tab) => void

    • tab

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

      علامة التبويب "تم تجاهلها"، إذا تم تجاهلها بنجاح؛ غير محددة بطريقة أخرى.

المرتجعات

  • وعود <Tab | غير محددة>

    الإصدار 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".

المرتجعات

  • وعود <Tab | غير محددة>

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

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

executeScript()

وعود &amp;leq; MV2 سيتم إيقافها منذ الإصدار 91 من Chrome
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

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

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

المعلمات

  • tabId

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

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

  • التفاصيل

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

  • رد الاتصال

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

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

    (result?: any[]) => void

    • نتيجة

      أي[] اختياري

      نتيجة النص البرمجي في كل إطار تم إدخاله.

المرتجعات

  • Promise&lt;any[] | غير محددة>

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

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

get()

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

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

المعلمات

  • tabId

    الرقم

  • رد الاتصال

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

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

    (tab: Tab) => void

المرتجعات

  • وعود<Tab>

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

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

getAllInWindow()

وعود &amp;leq; MV2 تمّت إزالة هذا العمود.
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

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

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

المعلمات

  • windowId

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

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

  • رد الاتصال

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

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

    (tabs: Tab[]) => void

المرتجعات

  • وعود<Tab[]>

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

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

getCurrent()

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

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

المعلمات

  • رد الاتصال

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

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

    (tab?: Tab) => void

المرتجعات

  • وعود <Tab | غير محددة>

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

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

getSelected()

وعود &amp;leq; MV2 تمّت إزالة هذا العمود.
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

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

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

المعلمات

  • windowId

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

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

  • رد الاتصال

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

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

    (tab: Tab) => void

المرتجعات

  • وعود<Tab>

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

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

getZoom()

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

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

المعلمات

  • tabId

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

    معرِّف علامة التبويب للحصول على عامل التكبير/التصغير الحالي افتراضيًا على علامة التبويب النشطة في النافذة الحالية.

  • رد الاتصال

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

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

    (zoomFactor: number) => void

    • zoomFactor

      الرقم

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

المرتجعات

  • Promise&lt;number&gt;

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

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

getZoomSettings()

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

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

المعلمات

  • tabId

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

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

  • رد الاتصال

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

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

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

المرتجعات

  • Promise&lt;ZoomSettings&gt;

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

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

goBack()

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

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

المعلمات

  • tabId

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

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

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

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

goForward()

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

انتقِل إلى الصفحة التالية في حال توفّرها.

المعلمات

  • tabId

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

    رقم تعريف علامة التبويب المخصّصة للانتقال إلى الأمام افتراضيًا على علامة التبويب المحددة في النافذة الحالية.

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

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

group()

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

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

المعلمات

  • الخيارات

    كائن

    • createProperties

      الكائن اختياري

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

      • windowId

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

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

    • groupId

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

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

    • tabIds

      الرقم | [رقم، ...رقم[]]

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

  • رد الاتصال

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

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

    (groupId: number) => void

    • groupId

      الرقم

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

المرتجعات

  • Promise&lt;number&gt;

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

highlight()

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

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

المعلمات

  • highlightInfo

    كائن

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

      الرقم | رقم[]

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

    • windowId

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

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

  • رد الاتصال

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

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

    (window: Window) => void

    • نافذة

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

المرتجعات

  • Promise&lt;windows.Window&gt;

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

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

insertCSS()

وعود &amp;leq; MV2 سيتم إيقافها منذ الإصدار 91 من Chrome
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)

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

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

المعلمات

  • tabId

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

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

  • التفاصيل

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

  • رد الاتصال

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

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

    () => 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

المرتجعات

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

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

query()

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

جلب جميع علامات التبويب التي تحتوي على السمات المحددة، أو كل علامات التبويب إذا لم يتم تحديد أي خصائص.

المعلمات

  • queryInfo

    كائن

    • نشطة

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

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

    • تطبيق audible

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

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

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

    • autoDiscardable

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

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

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

    • currentWindow

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

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

    • تم التجاهل

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

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

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

    • groupId

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

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

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

    • بارزة

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

      تحديد ما إذا كان قد تم تمييز علامات التبويب أم لا

    • المؤشر

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

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

    • lastFocusedWindow

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

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

    • تم كتم الصوت

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

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

      ما إذا كان قد تم كتم صوت علامات التبويب أم لا

    • تم تثبيته

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

      ما إذا كانت علامات التبويب مثبَّتة أم لا

    • status

      TabStatus اختيارية

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

    • title

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

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

    • url

      string | string[] اختيارية

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

    • windowId

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

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

    • windowType

      WindowType اختياري

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

  • رد الاتصال

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

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

    (result: Tab[]) => void

المرتجعات

  • وعود<Tab[]>

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

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

reload()

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

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

المعلمات

  • tabId

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

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

  • reloadProperties

    الكائن اختياري

    • bypassCache

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

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

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

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

remove()

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

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

المعلمات

  • tabIds

    الرقم | رقم[]

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

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

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

removeCSS()

وعود الإصدار 87 من Chrome أو الإصدارات الأحدث &amp;leq; MV2 متوقّف منذ إصدار Chrome 91
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)

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

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

المعلمات

  • tabId

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

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

  • التفاصيل

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

  • رد الاتصال

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

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

    () => 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" بدلاً من إرسال رسالة إلى جميع الإطارات في علامة التبويب.

  • رد الاتصال

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

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

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

    (response: any) => void

    • رد

      أي واحد

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

المرتجعات

  • تقديم وعود<any>

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

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

sendRequest()

وعود &amp;leq; MV2 تمّت إزالة هذا العمود.
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

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

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

المعلمات

  • tabId

    الرقم

  • طلب

    أي واحد

  • رد الاتصال

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

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

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

    (response: any) => void

    • رد

      أي واحد

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

المرتجعات

  • تقديم وعود<any>

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

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

setZoom()

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

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

المعلمات

  • tabId

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

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

  • zoomFactor

    الرقم

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

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

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

setZoomSettings()

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

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

المعلمات

  • tabId

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

    معرِّف علامة التبويب المطلوب تغيير إعدادات التكبير/التصغير الخاصة بها: افتراضيًا على علامة التبويب النشطة في النافذة الحالية.

  • zoomSettings

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

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

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

ungroup()

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

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

المعلمات

  • tabIds

    الرقم | [رقم، ...رقم[]]

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

  • رد الاتصال

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

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

    () => void

المرتجعات

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

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

update()

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

لتعديل خصائص علامة التبويب. لا يتم تعديل الخصائص غير المحدَّدة في updateProperties.

المعلمات

  • tabId

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

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

  • updateProperties

    كائن

    • نشطة

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

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

    • autoDiscardable

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

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

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

    • بارزة

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

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

    • تم كتم الصوت

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

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

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

    • openerTabId

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

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

    • تم تثبيته

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

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

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

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

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

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

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

    • url

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

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

  • رد الاتصال

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

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

    (tab?: Tab) => void

    • tab

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

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

المرتجعات

  • وعود <Tab | غير محددة>

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

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

فعاليات

onActivated

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

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

المعلمات

  • رد الاتصال

    دالة

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

    (activeInfo: object) => void

    • activeInfo

      كائن

      • tabId

        الرقم

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

      • windowId

        الرقم

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

onActiveChanged

&amp;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 لعلامة التبويب والعضوية في مجموعة علامات التبويب عند تنشيط هذا الحدث، ولكن يمكنك الاستماع إلى أحداث on Update لكي تتلقّى إشعارات عند ضبط عنوان URL أو عند إضافة علامة التبويب إلى مجموعة علامات تبويب.

المعلمات

  • رد الاتصال

    دالة

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

    (tab: Tab) => void

onDetached

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

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

المعلمات

  • رد الاتصال

    دالة

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

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

    • tabId

      الرقم

    • detachInfo

      كائن

      • oldPosition

        الرقم

      • oldWindowId

        الرقم

onHighlightChanged

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

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

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

المعلمات

  • رد الاتصال

    دالة

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

    (selectInfo: object) => void

    • selectInfo

      كائن

      • tabIds

        رقم[]

        كل علامات التبويب التي تم تمييزها في النافذة

      • windowId

        الرقم

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

onHighlighted

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

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

المعلمات

  • رد الاتصال

    دالة

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

    (highlightInfo: object) => void

    • highlightInfo

      كائن

      • tabIds

        رقم[]

        كل علامات التبويب التي تم تمييزها في النافذة

      • 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

&amp;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

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

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

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

      • autoDiscardable

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

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

        الحالة الجديدة التي يمكن تجاهلها تلقائيًا في علامة التبويب

      • تم التجاهل

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

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

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

      • favIconUrl

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

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

      • groupId

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

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

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

      • mutedInfo

        MutedInfo اختيارية

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

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

      • تم تثبيته

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

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

      • status

        TabStatus اختيارية

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

      • title

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

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

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

      • url

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

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

onZoomChange

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

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

المعلمات

  • رد الاتصال

    دالة

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      كائن

      • newZoomFactor

        الرقم

      • oldZoomFactor

        الرقم

      • tabId

        الرقم

      • zoomSettings