chrome.tabs

الوصف

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

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

الأذونات

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

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

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

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

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

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

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

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

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

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

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

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

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

background.js:

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

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

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

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

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

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

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

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

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

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

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

  chrome.tabs.onActivated.addListener(moveToFirstPosition);

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

  chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);

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

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

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

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

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

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

الأنواع

MutedInfo

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

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

أماكن إقامة

  • extensionId

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

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

  • تم كتم الصوت

    boolean

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

  • السبب

    MutedInfoReason اختياري

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

MutedInfoReason

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

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

التعداد

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

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

"extension"
تضبط إحدى الإضافات التي يحدّدها حقل additionalId على حالة كتم الصوت.

Tab

أماكن إقامة

  • نشطة

    boolean

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

  • تطبيق audible

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

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

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

  • autoDiscardable

    boolean

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

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

  • تم التجاهل

    boolean

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

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

  • favIconUrl

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

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

  • groupId

    الرقم

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

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

  • الطول

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

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

  • بارزة

    boolean

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

  • id

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

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

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

    boolean

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

  • المؤشر

    الرقم

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

  • lastAccessed

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

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

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

  • mutedInfo

    MutedInfo اختيارية

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

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

  • openerTabId

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

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

  • pendingUrl

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

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

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

  • تم التثبيت.

    boolean

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

  • تم التحديد

    boolean

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

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

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

  • sessionId

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

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

  • status

    TabStatus اختيارية

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

  • title

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

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

  • url

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

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

  • العرض

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

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

  • windowId

    الرقم

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

TabStatus

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

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

التعداد

WindowType

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

نوع النافذة

التعداد

"app"

"devtools"

ZoomSettings

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

أماكن إقامة

  • defaultZoomFactor

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

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

    يُستخدَم لإعادة مستوى التكبير أو التصغير التلقائي لعلامة التبويب الحالية في عمليات الاستدعاء إلى tab.getZoomSettings.

  • الوضع

    ZoomSettingsMode اختياري

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

  • نطاق

    ZoomSettingsScope اختياري

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

ZoomSettingsMode

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

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

التعداد

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

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

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

ZoomSettingsScope

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

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

التعداد

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

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

أماكن إقامة

MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND

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

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

القيمة

2

TAB_ID_NONE

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

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

القيمة

-1

TAB_INDEX_NONE

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

يشير ذلك المصطلح إلى فهرس يمثّل غياب فهرس Tab_strip في Tab_strip.

القيمة

-1

الطُرق

captureVisibleTab()

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

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

المَعلمات

  • windowId

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

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

  • الخيارات

    ImageDetails اختيارية

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (dataUrl: string)=>void

    • dataUrl

      سلسلة

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

المرتجعات

  • وعد<string>

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

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

connect()

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

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

المَعلمات

  • tabId

    الرقم

  • connectInfo

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

    • documentId

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

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

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

    • frameId

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

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

    • اسم

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

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

المرتجعات

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

create()

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

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

المَعلمات

  • createProperties

    كائن

    • نشطة

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

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

    • المؤشر

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

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

    • openerTabId

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

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

    • تم التثبيت.

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

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

    • تم التحديد

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

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

      يُرجى استخدام الحالة نشطة.

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

    • url

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

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

    • windowId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tab: Tab)=>void

المرتجعات

  • Promise<Tab>

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

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

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

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

discard()

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

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

المَعلمات

  • tabId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tab?: Tab)=>void

    • Tab اختيارية

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

المرتجعات

  • وعد<علامة تبويب|غير محدّدة>

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

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

duplicate()

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

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

المَعلمات

  • tabId

    الرقم

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tab?: Tab)=>void

    • Tab اختيارية

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

المرتجعات

  • وعد<علامة تبويب|غير محدّدة>

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

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

executeScript()

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

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

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

المَعلمات

  • tabId

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

    رقم تعريف علامة التبويب التي يتم تشغيل النص البرمجي فيها؛ الإعداد التلقائي هو علامة التبويب النشطة في النافذة الحالية.

  • التفاصيل

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (result?: any[])=>void

    • نتيجة

      أي نوع[] اختياري

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

المرتجعات

  • وعد<any[]|غير محدّد>

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

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

get()

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

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

المَعلمات

  • tabId

    الرقم

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tab: Tab)=>void

المرتجعات

  • Promise<Tab>

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

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

getAllInWindow()

الوعد &leq; MV2 تم إيقافه
chrome.tabs.getAllInWindow(
  windowId?: number,
  callback?: function,
)

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

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

المَعلمات

  • windowId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tabs: Tab[])=>void

المرتجعات

  • Promise<Tab[]>

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

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

getCurrent()

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

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

المَعلمات

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tab?: Tab)=>void

    • Tab اختيارية

المرتجعات

  • وعد<علامة تبويب|غير محدّدة>

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

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

getSelected()

الوعد &leq; MV2 تم إيقافه
chrome.tabs.getSelected(
  windowId?: number,
  callback?: function,
)

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

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

المَعلمات

المرتجعات

  • Promise<Tab>

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

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

getZoom()

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

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

المَعلمات

  • tabId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (zoomFactor: number)=>void

    • zoomFactor

      الرقم

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

المرتجعات

  • وعد<الرقم>

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

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

getZoomSettings()

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

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

المَعلمات

  • tabId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (zoomSettings: ZoomSettings)=>void

    • zoomSettings

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

المرتجعات

  • Promise<ZoomSettings>

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

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

goBack()

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

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

المَعلمات

  • tabId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

goForward()

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

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

المَعلمات

  • tabId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

group()

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

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

المَعلمات

  • الخيارات

    كائن

    • createProperties

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

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

      • windowId

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

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

    • groupId

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

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

    • tabIds

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (groupId: number)=>void

    • groupId

      الرقم

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

المرتجعات

  • وعد<الرقم>

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

highlight()

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

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

المَعلمات

  • highlightInfo

    كائن

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

      رقم|رقم[]

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

    • windowId

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (window: Window)=>void

    • نافذة

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

المرتجعات

  • الوعد<windows.Window>

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

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

insertCSS()

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

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

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

المَعلمات

  • tabId

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

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

  • التفاصيل

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

المرتجعات

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

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

query()

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

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

المَعلمات

  • queryInfo

    كائن

    • نشطة

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

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

    • تطبيق audible

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

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

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

    • autoDiscardable

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

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

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

    • currentWindow

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

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

    • تم التجاهل

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

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

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

    • groupId

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

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

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

    • بارزة

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

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

    • المؤشر

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

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

    • lastFocusedWindow

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

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

    • تم كتم الصوت

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

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

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

    • تم التثبيت.

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

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

    • status

      TabStatus اختيارية

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

    • title

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

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

    • url

      string|string[] optional

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

    • windowId

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

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

    • windowType

      WindowType اختيارية

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (result: Tab[])=>void

المرتجعات

  • Promise<Tab[]>

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

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

reload()

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

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

المَعلمات

  • tabId

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

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

  • reloadProperties

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

    • bypassCache

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

remove()

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

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

المَعلمات

  • tabIds

    رقم|رقم[]

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

removeCSS()

تعدُّد الإصدار 87 من Chrome أو الإصدارات الأحدث &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

المرتجعات

  • Promise<void>

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

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

sendMessage()

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

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

المَعلمات

  • tabId

    الرقم

  • رسالة

    أي فلتر

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

  • الخيارات

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

    • documentId

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

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

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

    • frameId

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

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

  • معاودة الاتصال

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

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

    تبدو معلَمة callback على النحو التالي:

    (response: any)=>void

    • رد

      أي فلتر

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

المرتجعات

  • وعد<any>

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

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

sendRequest()

الوعد &leq; MV2 تم إيقافه
chrome.tabs.sendRequest(
  tabId: number,
  request: any,
  callback?: function,
)

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

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

المَعلمات

  • tabId

    الرقم

  • طلب

    أي فلتر

  • معاودة الاتصال

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

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

    تبدو معلَمة callback على النحو التالي:

    (response: any)=>void

    • رد

      أي فلتر

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

المرتجعات

  • وعد<any>

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

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

setZoom()

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

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

المَعلمات

  • tabId

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

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

  • zoomFactor

    الرقم

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

setZoomSettings()

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

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

المَعلمات

  • tabId

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

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

  • zoomSettings

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

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

ungroup()

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

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

المَعلمات

  • tabIds

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    ()=>void

المرتجعات

  • Promise<void>

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

update()

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

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

المَعلمات

  • tabId

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

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

  • updateProperties

    كائن

    • نشطة

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

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

    • autoDiscardable

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

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

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

    • بارزة

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

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

    • تم كتم الصوت

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

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

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

    • openerTabId

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

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

    • تم التثبيت.

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

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

    • تم التحديد

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

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

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

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

    • url

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

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

  • معاودة الاتصال

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

    تبدو معلَمة callback على النحو التالي:

    (tab?: Tab)=>void

    • Tab اختيارية

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

المرتجعات

  • وعد<علامة تبويب|غير محدّدة>

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

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

فعاليات

onActivated

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (activeInfo: object)=>void

    • activeInfo

      كائن

      • tabId

        الرقم

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

      • windowId

        الرقم

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

onActiveChanged

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

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • tabId

      الرقم

    • selectInfo

      كائن

      • windowId

        الرقم

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

onAttached

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • tabId

      الرقم

    • attachInfo

      كائن

      • newPosition

        الرقم

      • newWindowId

        الرقم

onCreated

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (tab: Tab)=>void

onDetached

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • tabId

      الرقم

    • detachInfo

      كائن

      • oldPosition

        الرقم

      • oldWindowId

        الرقم

onHighlightChanged

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

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (selectInfo: object)=>void

    • selectInfo

      كائن

      • tabIds

        الرقم[]

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

      • 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

        boolean

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

      • windowId

        الرقم

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

onReplaced

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • addedTabId

      الرقم

    • removedTabId

      الرقم

onSelectionChanged

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

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • tabId

      الرقم

    • selectInfo

      كائن

      • windowId

        الرقم

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

onUpdated

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

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

    • tabId

      الرقم

    • changeInfo

      كائن

      • تطبيق audible

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

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

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

      • autoDiscardable

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

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

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

      • تم التجاهل

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

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

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

      • favIconUrl

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

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

      • groupId

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

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

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

      • mutedInfo

        MutedInfo اختيارية

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

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

      • تم التثبيت.

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

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

      • status

        TabStatus اختيارية

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

      • title

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

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

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

      • url

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

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

onZoomChange

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

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

المَعلمات

  • معاودة الاتصال

    الوظيفة

    تبدو معلَمة callback على النحو التالي:

    (ZoomChangeInfo: object)=>void

    • ZoomChangeInfo

      كائن

      • newZoomFactor

        الرقم

      • oldZoomFactor

        الرقم

      • tabId

        الرقم

      • zoomSettings