chrome.tabs

refresh date: 2026-09-25 robots: noindex

الوصف

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

نظرة عامة

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

الأذونات

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

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

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

البيان

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

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

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

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

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

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

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

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

background.js:

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

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

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

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

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

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

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

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

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

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

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

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

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

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

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

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

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

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

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

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

الأنواع

MutedInfo

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

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

الخصائص

  • extensionId

    string اختياري

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

  • تم كتم الصوت

    قيمة منطقية

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

  • reason

    MutedInfoReason اختياري

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

MutedInfoReason

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

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

Enum

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

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

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

Tab

الخصائص

  • نشطة

    قيمة منطقية

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

  • تطبيق audible

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

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

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

  • autoDiscardable

    قيمة منطقية

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

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

  • تم التجاهل

    قيمة منطقية

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

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

  • favIconUrl

    string اختياري

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

  • لا يستجيب

    قيمة منطقية

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

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

  • groupId

    الرقم

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

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

  • الارتفاع

    number اختيارية

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

  • بارزة

    قيمة منطقية

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

  • id

    number اختيارية

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

  • incognito

    قيمة منطقية

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

  • الفهرس

    الرقم

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

  • lastAccessed

    الرقم

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

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

  • mutedInfo

    MutedInfo اختياري

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

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

  • openerTabId

    number اختيارية

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

  • pendingUrl

    string اختياري

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

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

  • تم تثبيته

    قيمة منطقية

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

  • تم الاختيار

    قيمة منطقية

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

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

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

  • sessionId

    string اختياري

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

  • splitViewId

    number اختيارية

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

    رقم تعريف "تقسيم العرض" الذي تنتمي إليه علامة التبويب

  • status

    TabStatus اختيارية

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

  • title

    string اختياري

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

  • url

    string اختياري

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

  • العرض

    number اختيارية

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

  • windowId

    الرقم

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

TabStatus

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

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

Enum

"unloaded"

"loading"

"complete"

WindowType

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

نوع الفترة الزمنية

Enum

"normal"

"popup"

"panel"

"app"

"devtools"

ZoomSettings

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

الخصائص

  • defaultZoomFactor

    number اختيارية

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

    يُستخدَم لإرجاع مستوى التكبير التلقائي لعلامة التبويب الحالية في الطلبات إلى tabs.getZoomSettings.

  • الوضع

    ZoomSettingsMode اختياري

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

  • نطاق

    ZoomSettingsScope اختياري

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

ZoomSettingsMode

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

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

Enum

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

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

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

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

SPLIT_VIEW_ID_NONE

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

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

القيمة

-1

TAB_ID_NONE

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

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

القيمة

-1

TAB_INDEX_NONE

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

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

القيمة

-1

الطُرق

captureVisibleTab()

Promise
chrome.tabs.captureVisibleTab(
  windowId?: number,
  options?: ImageDetails,
  callback?: function,
)
: Promise<string>

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

المعلمات

  • windowId

    number اختيارية

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

  • الخيارات

    ‫ImageDetails اختيارية

  • callback

    function اختياري

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

    (dataUrl: string) => void

    • dataUrl

      سلسلة

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

المرتجعات

  • وعد<سلسلة>

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

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

connect()

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

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

المعلمات

  • tabId

    الرقم

  • connectInfo

    object اختياري

    • documentId

      string اختياري

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

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

    • frameId

      number اختيارية

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

    • الاسم

      string اختياري

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

المرتجعات

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

create()

Promise
chrome.tabs.create(
  createProperties: object,
  callback?: function,
)
: Promise<Tab>

يؤدي هذا الإجراء إلى إنشاء علامة تبويب جديدة.

المعلمات

  • createProperties

    عنصر

    • نشطة

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

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

    • الفهرس

      number اختيارية

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

    • openerTabId

      number اختيارية

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

    • تم تثبيته

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

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

    • تم الاختيار

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

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

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

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

    • splitWithTabId

      number اختيارية

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

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

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

      string اختياري

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

    • windowId

      number اختيارية

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

  • callback

    function اختياري

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

    (tab: Tab) => void

المرتجعات

  • Promise<Tab>

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

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

createSplit()

Promise الإصدار 155 من Chrome والإصدارات الأحدث
chrome.tabs.createSplit(
  tabIds: [number, number],
  callback?: function,
)
: Promise<number>

يؤدي هذا الإجراء إلى تقسيم علامتي تبويب حاليتين إلى وضع "تقسيم العرض".

المعلمات

  • tabIds

    [number, number]

    مصفوفة من معرّفَي علامة تبويب بالضبط لإقرانهما في وضع "تقسيم العرض" يجب أن تستوفي جميع علامات التبويب الشروط التالية:

    ويجب أن يكونا متجاورَين. يجب ألا تكونا في وضع العرض المنقسم. ويجب أن تتطابق حالات windowId وpinned وgroupId.

  • callback

    function اختياري

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

    (splitViewId: number) => void

    • splitViewId

      الرقم

      رقم تعريف "العرض المتقسّم" الذي تم إنشاؤه حديثًا ويحتوي على علامات التبويب المحدّدة

المرتجعات

  • <number>

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

detectLanguage()

Promise
chrome.tabs.detectLanguage(
  tabId?: number,
  callback?: function,
)
: Promise<string>

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

المعلمات

  • tabId

    number اختيارية

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

  • callback

    function اختياري

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

    (language: string) => void

    • language

      سلسلة

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

المرتجعات

  • وعد<سلسلة>

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

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

discard()

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

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

المعلمات

  • tabId

    number اختيارية

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

  • callback

    function اختياري

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

    (tab?: Tab) => void

    • ‏:

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

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

المرتجعات

  • Promise<Tab | undefined>

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

    يتم حلّها بعد اكتمال العملية.

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

duplicate()

Promise
chrome.tabs.duplicate(
  tabId: number,
  callback?: function,
)
: Promise<Tab | undefined>

يُنشئ نسخة طبق الأصل من علامة تبويب.

المعلمات

  • tabId

    الرقم

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

  • callback

    function اختياري

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

    (tab?: Tab) => void

    • ‏:

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

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

المرتجعات

  • Promise<Tab | undefined>

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

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

executeScript()

Promise &leq; MV2 متوقّفة نهائيًا منذ الإصدار 91 من Chrome
chrome.tabs.executeScript(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<any[] | undefined>

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

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

المعلمات

  • tabId

    number اختيارية

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

  • التفاصيل

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

  • callback

    function اختياري

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

    (result?: any[]) => void

    • نتيجة

      any[] اختيارية

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

المرتجعات

  • Promise<any[] | undefined>

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

    يتم حلّها بعد تنفيذ كل رموز JavaScript.

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

get()

Promise
chrome.tabs.get(
  tabId: number,
  callback?: function,
)
: Promise<Tab>

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

المعلمات

  • tabId

    الرقم

  • callback

    function اختياري

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

    (tab: Tab) => void

المرتجعات

  • Promise<Tab>

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

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

getAllInWindow()

Promise &leq; MV2 متوقّفة نهائيًا
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)
: Promise<Tab[]>

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

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

المعلمات

  • windowId

    number اختيارية

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

  • callback

    function اختياري

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

    (tabs: Tab[]) => void

المرتجعات

  • Promise<Tab[]>

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

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

getCurrent()

Promise
chrome.tabs.getCurrent(
  callback?: function,
)
: Promise<Tab | undefined>

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

المعلمات

  • callback

    function اختياري

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

    (tab?: Tab) => void

المرتجعات

  • Promise<Tab | undefined>

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

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

getSelected()

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

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

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

المعلمات

المرتجعات

  • Promise<Tab>

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

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

getZoom()

Promise
chrome.tabs.getZoom(
  tabId?: number,
  callback?: function,
)
: Promise<number>

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

المعلمات

  • tabId

    number اختيارية

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

  • callback

    function اختياري

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

    (zoomFactor: number) => void

    • zoomFactor

      الرقم

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

المرتجعات

  • <number>

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

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

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

getZoomSettings()

Promise
chrome.tabs.getZoomSettings(
  tabId?: number,
  callback?: function,
)
: Promise<ZoomSettings>

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

المعلمات

  • tabId

    number اختيارية

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

  • callback

    function اختياري

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

    (zoomSettings: ZoomSettings) => void

    • zoomSettings

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

المرتجعات

  • Promise<ZoomSettings>

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

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

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

goBack()

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

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

المعلمات

  • tabId

    number اختيارية

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

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

goForward()

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

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

المعلمات

  • tabId

    number اختيارية

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

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

group()

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

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

المعلمات

  • الخيارات

    عنصر

    • createProperties

      object اختياري

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

      • windowId

        number اختيارية

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

    • groupId

      number اختيارية

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

    • tabIds

      number | [number, ...number[]]

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

  • callback

    function اختياري

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

    (groupId: number) => void

    • groupId

      الرقم

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

المرتجعات

  • <number>

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

highlight()

Promise
chrome.tabs.highlight(
  highlightInfo: object,
  callback?: function,
)
: Promise<windows.Window>

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

المعلمات

  • highlightInfo

    عنصر

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

      number | number[]

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

    • windowId

      number اختيارية

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

  • callback

    function اختياري

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

    (window: Window) => void

    • نافذة

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

المرتجعات

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

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

insertCSS()

Promise &leq; MV2 متوقّفة نهائيًا منذ الإصدار 91 من Chrome
chrome.tabs.insertCSS(
  tabId?: number,
  details: InjectDetails,
  callback?: function,
)
: Promise<void>

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

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

المعلمات

  • tabId

    number اختيارية

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

  • التفاصيل

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

    يتم حلّ المشكلة عند إدراج جميع ملفات CSS.

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

move()

Promise
chrome.tabs.move(
  tabIds: number | number[],
  moveProperties: object,
  callback?: function,
)
: Promise<Tab | Tab[]>

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

المعلمات

  • tabIds

    number | number[]

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

  • moveProperties

    عنصر

    • الفهرس

      الرقم

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

    • windowId

      number اختيارية

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

  • callback

    function اختياري

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

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

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

      Tab | Tab[]

      تفاصيل حول علامات التبويب التي تم نقلها

المرتجعات

  • Promise<Tab | Tab[]>

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

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

query()

Promise
chrome.tabs.query(
  queryInfo: object,
  callback?: function,
)
: Promise<Tab[]>

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

المعلمات

  • queryInfo

    عنصر

    • نشطة

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

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

    • تطبيق audible

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

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

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

    • autoDiscardable

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

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

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

    • currentWindow

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

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

    • تم التجاهل

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

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

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

    • لا يستجيب

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

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

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

    • groupId

      number اختيارية

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

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

    • بارزة

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

      ما إذا تم تمييز علامات التبويب

    • الفهرس

      number اختيارية

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

    • lastFocusedWindow

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

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

    • تم كتم الصوت

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

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

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

    • تم تثبيته

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

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

    • splitViewId

      number اختيارية

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

      رقم تعريف وضع "تقسيم العرض" الذي تظهر فيه علامات التبويب، أو tabs.SPLIT_VIEW_ID_NONE لعلامات التبويب التي لا تظهر في وضع "تقسيم العرض".

    • status

      TabStatus اختيارية

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

    • title

      string اختياري

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

    • url

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

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

    • windowId

      number اختيارية

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

    • windowType

      WindowType اختيارية

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

  • callback

    function اختياري

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

    (result: Tab[]) => void

المرتجعات

  • Promise<Tab[]>

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

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

reload()

Promise
chrome.tabs.reload(
  tabId?: number,
  reloadProperties?: object,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • tabId

    number اختيارية

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

  • reloadProperties

    object اختياري

    • bypassCache

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

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

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

remove()

Promise
chrome.tabs.remove(
  tabIds: number | number[],
  callback?: function,
)
: Promise<void>

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

المعلمات

  • tabIds

    number | number[]

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

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

removeCSS()

Promise الإصدار 87 من Chrome والإصدارات الأحدث &leq; الإصدار 2 من منصّة MV تم إيقافه نهائيًا منذ الإصدار 91 من Chrome
chrome.tabs.removeCSS(
  tabId?: number,
  details: DeleteInjectionDetails,
  callback?: function,
)
: Promise<void>

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

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

المعلمات

  • tabId

    number اختيارية

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

  • التفاصيل

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

    يتم حلّ المشكلة عند إزالة كل ملفات CSS.

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

sendMessage()

Promise
chrome.tabs.sendMessage(
  tabId: number,
  message: any,
  options?: object,
  callback?: function,
)
: Promise<any>

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

المعلمات

  • tabId

    الرقم

  • رسالة

    أي واحد

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

  • الخيارات

    object اختياري

    • documentId

      string اختياري

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

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

    • frameId

      number اختيارية

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

  • callback

    function اختياري

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

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

    (response: any) => void

    • رد

      أي واحد

      عنصر استجابة JSON الذي أرسله معالج الرسالة

المرتجعات

  • وعد<أي>

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

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

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

sendRequest()

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

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

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

المعلمات

  • tabId

    الرقم

  • طلب

    أي واحد

  • callback

    function اختياري

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

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

    (response: any) => void

    • رد

      أي واحد

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

المرتجعات

  • وعد<أي>

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

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

setZoom()

Promise
chrome.tabs.setZoom(
  tabId?: number,
  zoomFactor: number,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • tabId

    number اختيارية

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

  • zoomFactor

    الرقم

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

    يتم تنفيذ الطلب بعد تغيير عامل التكبير/التصغير.

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

setZoomSettings()

Promise
chrome.tabs.setZoomSettings(
  tabId?: number,
  zoomSettings: ZoomSettings,
  callback?: function,
)
: Promise<void>

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

المعلمات

  • tabId

    number اختيارية

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

  • zoomSettings

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

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

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

ungroup()

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

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

المعلمات

  • tabIds

    number | [number, ...number[]]

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

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

unsplit()

Promise الإصدار 155 من Chrome والإصدارات الأحدث
chrome.tabs.unsplit(
  splitViewId: number,
  callback?: function,
)
: Promise<void>

يفصل علامات التبويب في وضع "تقسيم العرض" إلى علامات تبويب مستقلة.

المعلمات

  • splitViewId

    الرقم

    رقم تعريف "تقسيم العرض" المطلوب فصله

  • callback

    function اختياري

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

    () => void

المرتجعات

  • وعد<فراغ>

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

update()

Promise
chrome.tabs.update(
  tabId?: number,
  updateProperties: object,
  callback?: function,
)
: Promise<Tab | undefined>

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

المعلمات

  • tabId

    number اختيارية

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

  • updateProperties

    عنصر

    • نشطة

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

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

    • autoDiscardable

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

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

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

    • بارزة

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

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

    • تم كتم الصوت

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

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

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

    • openerTabId

      number اختيارية

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

    • تم تثبيته

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

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

    • تم الاختيار

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

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

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

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

    • url

      string اختياري

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

  • callback

    function اختياري

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

    (tab?: Tab) => void

    • ‏:

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

      تفاصيل حول علامة التبويب المعدَّلة لا يتم تضمين السمات url وpendingUrl وtitle وfavIconUrl في العنصر tabs.Tab إلا إذا كانت الإضافة تتضمّن الإذن "tabs" أو أذونات المضيف للصفحة.

المرتجعات

  • Promise<Tab | undefined>

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

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

الفعاليات

onActivated

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

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

المعلمات

  • callback

    دالة

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

    (activeInfo: object) => void

    • activeInfo

      عنصر

      • tabId

        الرقم

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

      • windowId

        الرقم

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

onActiveChanged

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

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

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

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • selectInfo

      عنصر

      • windowId

        الرقم

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

onAttached

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

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

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • attachInfo

      عنصر

      • newPosition

        الرقم

      • newWindowId

        الرقم

onCreated

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

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

المعلمات

onDetached

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

يتم تنشيط هذا الحدث عند فصل علامة تبويب عن نافذة، مثلاً عند نقلها بين النوافذ.

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • detachInfo

      عنصر

      • oldPosition

        الرقم

      • oldWindowId

        الرقم

onHighlightChanged

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

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

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

المعلمات

  • callback

    دالة

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

    (selectInfo: object) => void

    • selectInfo

      عنصر

      • tabIds

        number[]

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

      • windowId

        الرقم

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

onHighlighted

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

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

المعلمات

  • callback

    دالة

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

    (highlightInfo: object) => void

    • highlightInfo

      عنصر

      • tabIds

        number[]

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

      • windowId

        الرقم

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

onMoved

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

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

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • moveInfo

      عنصر

      • fromIndex

        الرقم

      • toIndex

        الرقم

      • windowId

        الرقم

onRemoved

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

يتم تفعيل هذا الحدث عند إغلاق علامة تبويب.

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • removeInfo

      عنصر

      • isWindowClosing

        قيمة منطقية

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

      • windowId

        الرقم

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

onReplaced

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

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

المعلمات

  • callback

    دالة

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

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

    • addedTabId

      الرقم

    • removedTabId

      الرقم

onSelectionChanged

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

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

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

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • selectInfo

      عنصر

      • windowId

        الرقم

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

onUpdated

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

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

المعلمات

  • callback

    دالة

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

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

    • tabId

      الرقم

    • changeInfo

      عنصر

      • تطبيق audible

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

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

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

      • autoDiscardable

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

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

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

      • تم التجاهل

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

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

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

      • favIconUrl

        string اختياري

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

      • لا يستجيب

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

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

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

      • groupId

        number اختيارية

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

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

      • mutedInfo

        MutedInfo اختياري

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

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

      • تم تثبيته

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

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

      • splitViewId

        number اختيارية

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

        وضع "تقسيم العرض" الجديد لعلامة التبويب

      • status

        TabStatus اختيارية

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

      • title

        string اختياري

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

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

      • url

        string اختياري

        عنوان URL لعلامة التبويب في حال تغييره

onZoomChange

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

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

المعلمات

  • callback

    دالة

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

    (ZoomChangeInfo: object) => void

    • ZoomChangeInfo

      عنصر

      • newZoomFactor

        الرقم

      • oldZoomFactor

        الرقم

      • tabId

        الرقم

      • zoomSettings