الوصف
يمكنك استخدام واجهة برمجة التطبيقات chrome.tabs
للتفاعل مع نظام علامات التبويب في المتصفّح. يمكنك استخدام واجهة برمجة التطبيقات هذه لإنشاء علامات تبويب وتعديلها وإعادة ترتيبها في المتصفّح.
نظرة عامة
لا توفر Tabs API ميزات لمعالجة علامات التبويب وإدارتها فحسب، بل يمكنها أيضًا اكتشاف لغة علامة التبويب، وخذ لقطة شاشة، التواصل مع النصوص البرمجية للمحتوى في علامة التبويب
الأذونات
لا تتطلب معظم الميزات أي أذونات لاستخدامها. على سبيل المثال: إنشاء علامة تبويب جديدة إعادة تحميل علامة تبويب والانتقال إلى عنوان URL آخر وغير ذلك
هناك ثلاثة أذونات يجب أن يكون المطوّرون على دراية بها عند التعامل مع Tabs API.
- "علامات التبويب" الإذن
- لا يمنح هذا الإذن إمكانية الوصول إلى مساحة الاسم
chrome.tabs
. بدلاً من ذلك، يمنح هذا الإذن الإضافة إمكانية الاتصال بـtabs.query()
في مقابل أربعة. خصائص حساسة في حالةtabs.Tab
:url
وpendingUrl
وtitle
وfavIconUrl
. - أذونات المضيف
- أذونات المضيف تسمح للإضافة بقراءة المعلومات الحساسة الأربعة لعلامة التبويب المطابقة وإجراء طلب بحث عنها
موقعان (
tabs.Tab
) كما يمكنهم التفاعل مباشرةً مع علامات التبويب المطابقة باستخدام طرق مثل باسمtabs.captureVisibleTab()
،tabs.executeScript()
وtabs.insertCSS()
وtabs.removeCSS()
. - "activeTab" الإذن
- يمنح
activeTab
إذن مضيف مؤقت للإضافة لعلامة التبويب الحالية في للاستجابة لاستدعاء المستخدم. على عكس أذونات المضيف، لا يعرضactiveTab
أي تحذيرات.
البيان
في ما يلي أمثلة على كيفية الإفصاح عن كل إذن في البيان:
{
"name": "My extension",
...
"permissions": [
"tabs"
],
...
}
{
"name": "My extension",
...
"host_permissions": [
"http://*/*",
"https://*/*"
],
...
}
{
"name": "My extension",
...
"permissions": [
"activeTab"
],
...
}
حالات الاستخدام
توضح الأقسام التالية بعض حالات الاستخدام الشائعة.
فتح صفحة إضافة في علامة تبويب جديدة
والنمط الشائع للإضافات هو فتح صفحة إعداد في علامة تبويب جديدة عندما تكون الإضافة مثبت. يوضح المثال التالي كيفية إجراء هذا.
background.js:
chrome.runtime.onInstalled.addListener(({reason}) => {
if (reason === 'install') {
chrome.tabs.create({
url: "onboarding.html"
});
}
});
الحصول على علامة التبويب الحالية
يوضح هذا المثال كيف يمكن لعامل خدمة أحد الإضافات استرداد علامة التبويب النشطة من نافذة يتم التركيز عليها حاليًا (أو نافذة تم التركيز عليها مؤخرًا، في حال عدم التركيز على أي نوافذ من Chrome). هذا النمط يمكن اعتبارها علامة التبويب الحالية للمستخدم.
async function getCurrentTab() {
let queryOptions = { active: true, lastFocusedWindow: true };
// `tab` will either be a `tabs.Tab` instance or `undefined`.
let [tab] = await chrome.tabs.query(queryOptions);
return tab;
}
function getCurrentTab(callback) {
let queryOptions = { active: true, lastFocusedWindow: true };
chrome.tabs.query(queryOptions, ([tab]) => {
if (chrome.runtime.lastError)
console.error(chrome.runtime.lastError);
// `tab` will either be a `tabs.Tab` instance or `undefined`.
callback(tab);
});
}
كتم صوت علامة التبويب المحدّدة
يوضّح هذا المثال كيف يمكن لإحدى الإضافات تبديل حالة كتم الصوت لعلامة تبويب معيّنة.
async function toggleMuteState(tabId) {
const tab = await chrome.tabs.get(tabId);
const muted = !tab.mutedInfo.muted;
await chrome.tabs.update(tabId, {muted});
console.log(`Tab ${tab.id} is ${muted ? "muted" : "unmuted"}`);
}
function toggleMuteState(tabId) {
chrome.tabs.get(tabId, async (tab) => {
let muted = !tab.mutedInfo.muted;
await chrome.tabs.update(tabId, { muted });
console.log(`Tab ${tab.id} is ${ muted ? "muted" : "unmuted" }`);
});
}
نقل علامة التبويب الحالية إلى الموضع الأول عند النقر عليها
يوضّح هذا المثال كيفية نقل علامة تبويب أثناء إجراء السحب أو عدم تنفيذه. في حين أن هذا المثال
تستخدم chrome.tabs.move
، يمكنك استخدام نمط الانتظار نفسه للمكالمات الأخرى التي تعدّل علامات التبويب أثناء
هناك سحب قيد التقدم.
chrome.tabs.onActivated.addListener(moveToFirstPosition);
async function moveToFirstPosition(activeInfo) {
try {
await chrome.tabs.move(activeInfo.tabId, {index: 0});
console.log("Success.");
} catch (error) {
if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
setTimeout(() => moveToFirstPosition(activeInfo), 50);
} else {
console.error(error);
}
}
}
chrome.tabs.onActivated.addListener(moveToFirstPositionMV2);
function moveToFirstPositionMV2(activeInfo) {
chrome.tabs.move(activeInfo.tabId, { index: 0 }, () => {
if (chrome.runtime.lastError) {
const error = chrome.runtime.lastError;
if (error == "Error: Tabs cannot be edited right now (user may be dragging a tab).") {
setTimeout(() => moveToFirstPositionMV2(activeInfo), 50);
} else {
console.error(error);
}
} else {
console.log("Success.");
}
});
}
تمرير رسالة إلى النص البرمجي الخاص بمحتوى علامة التبويب المحدّدة
يوضح هذا المثال كيف يمكن عامل خدمة الإضافة التواصل مع النصوص البرمجية للمحتوى في علامات تبويب معيّنة في المتصفّح باستخدام tabs.sendMessage()
.
function sendMessageToActiveTab(message) {
const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
const response = await chrome.tabs.sendMessage(tab.id, message);
// TODO: Do something with the response.
}
أمثلة على الإضافات
لمزيد من العروض التوضيحية لإضافات علامات التبويب API، يمكنك الاطّلاع على أيّ مما يلي:
- الإصدار الثاني من ملف البيان - إضافات واجهة برمجة التطبيقات لعلامات التبويب
- Manifest V3 - مدير علامات التبويب
الأنواع
MutedInfo
حالة كتم صوت علامة التبويب وسبب آخر تغيير للحالة
أماكن إقامة
-
extensionId
سلسلة اختيارية
رقم تعريف الإضافة التي غيّرت حالة كتم الصوت. لا يتم ضبطه إذا لم تكن الإضافة هي سبب آخر تغيير لحالة كتم الصوت.
-
تم كتم الصوت
منطقي
ما إذا تم كتم صوت علامة التبويب (يتم منعها من تشغيل الصوت) قد يتم كتم صوت علامة التبويب حتى إذا لم يتم تشغيلها أو إذا لم يتم تشغيل صوت في الوقت الحالي. تعادل ما إذا كان "تم كتم الصوت" يظهر مؤشر الصوت.
-
السبب
MutedInfoReason اختياري
سبب كتم صوت علامة التبويب أو إلغاء كتمه. لا يتم ضبطه إذا لم يسبق أن تم تغيير حالة كتم صوت علامة التبويب.
MutedInfoReason
حدث تسبّب في تغيير حالة كتم الصوت.
Enum
"user"
تم ضبط حالة كتم الصوت من خلال إجراء أدخل المستخدم.
"capture"
تم بدء التقاط علامة التبويب، ما أدى إلى تغيير حالة كتم الصوت.
"extension"
إضافة، يحدّدها حقل رقم تعريف الإضافة، حالة كتم الصوت.
Tab
أماكن إقامة
-
نشطة
منطقي
ما إذا كانت علامة التبويب نشطة في نافذتها. ولا يعني ذلك بالضرورة أنّ التركيز على النافذة.
-
تطبيق audible
قيمة منطقية اختيارية
الإصدار 45 من Chrome أو الإصدارات الأحدثما إذا كانت علامة التبويب قد أصدرت صوتًا خلال الثواني القليلة الماضية (ولكن قد لا يتم سماعها إذا تم كتم صوتها أيضًا). تعادل ما إذا كان "صوت مكبّر الصوت" ظهور المؤشر.
-
autoDiscardable
منطقي
الإصدار 54 من Chrome أو الإصدارات الأحدثيمكنك اختيار ما إذا كان يمكن للمتصفّح تجاهل علامة التبويب تلقائيًا عند انخفاض الموارد.
-
تم التجاهل
منطقي
الإصدار 54 من Chrome أو الإصدارات الأحدثما إذا كان قد تم تجاهل علامة التبويب أم لا. علامة التبويب التي تم تجاهلها هي علامة تبويب تم إلغاء تحميل محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. وتتم إعادة تحميل محتواها عند تفعيله في المرة التالية.
-
favIconUrl
سلسلة اختيارية
تمثّل هذه السمة عنوان URL للرمز المفضّل في علامة التبويب. تتوفّر هذه السمة فقط إذا كان بيان الإضافة يتضمّن إذن
"tabs"
. وقد تكون أيضًا سلسلة فارغة في حال تحميل علامة التبويب. -
groupId
الرقم
الإصدار 88 من Chrome أو الإصدارات الأحدثرقم تعريف المجموعة التي تنتمي إليها علامة التبويب.
-
الطول
الرقم اختياري
ارتفاع علامة التبويب بالبكسل.
-
بارزة
منطقي
ما إذا كان قد تم تمييز علامة التبويب أم لا.
-
id
الرقم اختياري
رقم تعريف علامة التبويب. تكون أرقام تعريف علامات التبويب فريدة ضمن جلسة متصفّح. في بعض الحالات، قد لا يتم تعيين معرِّف لعلامة تبويب؛ على سبيل المثال، عند البحث عن علامات تبويب خارجية باستخدام واجهة برمجة تطبيقات
sessions
، قد يتوفّر معرّف جلسة في هذه الحالة. يمكن أيضًا ضبط رقم تعريف علامة التبويب علىchrome.tabs.TAB_ID_NONE
في التطبيقات ونوافذ أدوات مطوّري البرامج. -
وضع التصفُّح المتخفي
منطقي
ما إذا كانت علامة التبويب في نافذة التصفّح المتخفي.
-
المؤشر
الرقم
الفهرس القائم على القيمة صفر لعلامة التبويب داخل النافذة.
-
lastAccessed
الرقم
الإصدار 121 من Chrome أو الإصدارات الأحدثآخر مرة تم فيها الوصول إلى علامة التبويب كعدد بالمللي ثانية منذ تاريخ بدء حساب الفترة.
-
mutedInfo
MutedInfo اختيارية
الإصدار 46 من Chrome أو الإصدارات الأحدثحالة كتم صوت علامة التبويب وسبب آخر تغيير للحالة
-
openerTabId
الرقم اختياري
رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه، إن توفّرت. لا تتوفّر هذه السمة إلا إذا كانت علامة التبويب المفتوحة لا تزال متاحة.
-
pendingUrl
سلسلة اختيارية
الإصدار 79 من Chrome أو الإصدارات الأحدثعنوان URL الذي تنتقل إليه علامة التبويب قبل الانتقال إليه لا تتوفّر هذه السمة إلا إذا كان بيان الإضافة يتضمّن إذن
"tabs"
وكانت هناك عملية تنقّل في انتظار المراجعة. -
تم تثبيته
منطقي
ما إذا تم تثبيت علامة التبويب أم لا
-
تم تحديد هذا الخيار
منطقي
متوقّفة نهائيًايُرجى استخدام
tabs.Tab.highlighted
.لتحديد ما إذا كان قد تم اختيار علامة التبويب أم لا.
-
sessionId
سلسلة اختيارية
رقم تعريف الجلسة المستخدَم للتعريف بشكلٍ فريد عن علامة تبويب تم الحصول عليها من واجهة برمجة تطبيقات
sessions
. -
status
TabStatus اختيارية
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
عنوان علامة التبويب. تتوفّر هذه السمة فقط إذا كان بيان الإضافة يتضمّن إذن
"tabs"
. -
url
سلسلة اختيارية
آخر عنوان URL تم استخدامه للإطار الرئيسي لعلامة التبويب. تتوفّر هذه السمة فقط إذا كان بيان الإضافة يتضمّن إذن
"tabs"
وقد تكون سلسلة فارغة إذا لم يتم تنفيذ علامة التبويب بعد. راجِع أيضًاTab.pendingUrl
. -
العرض
الرقم اختياري
عرض علامة التبويب بالبكسل.
-
windowId
الرقم
رقم تعريف النافذة التي تحتوي على علامة التبويب
TabStatus
حالة تحميل علامة التبويب
Enum
"تم إلغاء التحميل"
"جارٍ التحميل"
"مكتملة"
WindowType
نوع النافذة
Enum
"عادي"
"نافذة منبثقة"
"اللوحة"
"التطبيق"
"أدوات مطوّري البرامج"
ZoomSettings
تحدد هذه السياسة كيفية التعامل مع تغييرات التكبير/التصغير في علامة تبويب ونطاقها.
أماكن إقامة
-
defaultZoomFactor
الرقم اختياري
الإصدار 43 من Chrome أو الإصدارات الأحدثيتم استخدامه لعرض مستوى التكبير التلقائي لعلامة التبويب الحالية في عمليات الاستدعاء التي تتم من خلال Tab.getZoomSettings.
-
الوضع
ZoomSettingsMode optional
تحدِّد هذه السياسة كيفية التعامل مع تغييرات التكبير/التصغير، أي الكيان المسؤول عن التوسيع الفعلي للصفحة. يتم ضبط القيمة التلقائية على
automatic
. -
نطاق
ZoomSettingsScope اختياري
لتحديد ما إذا كانت تغييرات التكبير/التصغير ستستمر في مصدر الصفحة، أم أنها لن تسري إلا في علامة التبويب هذه، يتم الضبط تلقائيًا على
per-origin
عندما تكون في الوضعautomatic
، وper-tab
في الحالات الأخرى.
ZoomSettingsMode
تحدِّد هذه السياسة كيفية التعامل مع تغييرات التكبير/التصغير، أي الكيان المسؤول عن التوسيع الفعلي للصفحة. يتم ضبط القيمة التلقائية على automatic
.
Enum
"تلقائي"
يعالج المتصفِّح تغييرات التكبير/التصغير تلقائيًا.
"manual"
يلغي المعالجة التلقائية لتغييرات التكبير/التصغير. سنواصل إرسال الحدث "onZoomChange
"، وتقع على عاتق الإضافة مسؤولية الاستماع إلى هذا الحدث ونطاق الصفحة يدويًا. لا يتيح هذا الوضع استخدام التكبير/التصغير في per-origin
، وبالتالي يتجاهل إعداد التكبير/التصغير scope
ويفترض القيمة per-tab
.
"متوقّفة"
إيقاف جميع عمليات التكبير في علامة التبويب تعود علامة التبويب إلى مستوى التكبير التلقائي، ويتم تجاهل جميع تغييرات التكبير/التصغير التي تمت محاولة إجرائها.
ZoomSettingsScope
لتحديد ما إذا كانت تغييرات التكبير/التصغير ستستمر في مصدر الصفحة، أم أنها لن تسري إلا في علامة التبويب هذه، يتم الضبط تلقائيًا على per-origin
عندما تكون في الوضع automatic
، وper-tab
في الحالات الأخرى.
Enum
"per-origin"
تظل تغييرات التكبير أو التصغير تظهر في أصل الصفحة التي تم تكبيرها، أي أنّ جميع علامات التبويب الأخرى التي تم الانتقال إليها إلى ذلك المصدر نفسه يتم أيضًا التكبير أو التصغير. إضافةً إلى ذلك، يتم حفظ تغييرات التكبير/التصغير per-origin
مع المصدر، ما يعني أنّه عند الانتقال إلى صفحات أخرى في المصدر نفسه، يتم تكبيرها جميعًا باستخدام عامل التكبير نفسه. لا يتوفّر النطاق per-origin
إلا في الوضع automatic
.
"لكل علامة تبويب"
لا تسري تغييرات التكبير/التصغير إلا في علامة التبويب هذه، ولا تؤثر تغييرات التكبير/التصغير في علامات التبويب الأخرى في مستوى التكبير/التصغير لعلامة التبويب هذه. بالإضافة إلى ذلك، تتم إعادة ضبط تغييرات التكبير/التصغير بنسبة per-tab
عند التنقّل. يؤدي التنقّل في علامة تبويب إلى تحميل الصفحات التي تحتوي على per-origin
عوامل التكبير أو التصغير.
أماكن إقامة
MAX_CAPTURE_VISIBLE_TAB_CALLS_PER_SECOND
الحد الأقصى لعدد المرات التي يمكن فيها الاتصال بـ captureVisibleTab
في الثانية. captureVisibleTab
باهظ الثمن ويجب عدم الاتصال به كثيرًا.
القيمة
2
TAB_ID_NONE
رقم تعريف يشير إلى عدم توفّر علامة تبويب متصفّح.
القيمة
-1
TAB_INDEX_NONE
فهرس يُظهر عدم وجود فهرس علامة تبويب في Tab_strip.
القيمة
-1
الطُرق
captureVisibleTab()
chrome.tabs.captureVisibleTab(
windowId?: number,
options?: ImageDetails,
callback?: function,
)
يتم التقاط المنطقة المرئية من علامة التبويب النشطة حاليًا في النافذة المحددة. لاستخدام هذه الطريقة، يجب أن تحصل الإضافة على إذن <all_urls> أو إذن activeTab. بالإضافة إلى المواقع الإلكترونية التي يمكن للإضافات الوصول إليها عادةً، تسمح هذه الطريقة للإضافات بالتقاط المواقع الإلكترونية الحساسة التي تم حظرها بطريقة أخرى، بما في ذلك صفحات chrome:-scheme والإضافات الأخرى والصفحات والبيانات: عناوين URL. لا يمكن التقاط هذه المواقع الإلكترونية الحساسة إلا من خلال إذن activeTab. قد يتم التقاط عناوين URL للملفات فقط إذا تم منح الإضافة إذن الوصول إلى الملف.
المعلمات
-
windowId
الرقم اختياري
النافذة المستهدَفة. يتم استخدام القيمة التلقائية على النافذة الحالية.
-
الخيارات
ImageDetails اختيارية
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(dataUrl: string) => void
-
dataUrl
سلسلة
عنوان URL للبيانات يشفّر صورة للمنطقة المرئية من علامة التبويب التي تم التقاطها. يمكن تعيينه إلى "src" سمة لعنصر HTML
img
للعرض.
-
المرتجعات
-
وعود<string>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
يؤدي إلى الاتصال بالنصوص البرمجية الخاصة بالمحتوى في علامة التبويب المحددة. يتم تنشيط حدث runtime.onConnect
في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافة الحالية. لمزيد من التفاصيل، يُرجى الاطّلاع على مراسلات برمجة المحتوى.
المعلمات
-
tabId
الرقم
-
connectInfo
الكائن اختياري
-
documentId
سلسلة اختيارية
الإصدار 106 من Chrome أو الإصدارات الأحدثافتح منفذًا إلى مستند معيّن تم التعرّف عليه من خلال
documentId
بدلاً من جميع الإطارات في علامة التبويب. -
frameId
الرقم اختياري
افتح منفذًا إلى إطار معيّن يحدّده
frameId
بدلاً من جميع الإطارات في علامة التبويب. -
الاسم
سلسلة اختيارية
يتم تمريره إلى onConnect للنصوص البرمجية للمحتوى التي تستمع إلى حدث الاتصال.
-
المرتجعات
-
منفذ يمكن استخدامه للتواصل مع النصوص البرمجية للمحتوى قيد التشغيل في علامة التبويب المحددة. يتم تنشيط حدث
runtime.Port
للمنفذ في حال إغلاق علامة التبويب أو عدم توفّرها.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
)
لإنشاء علامة تبويب جديدة
المعلمات
-
createProperties
كائن
-
نشطة
قيمة منطقية اختيارية
لتحديد ما إذا كان يجب أن تصبح علامة التبويب هي علامة التبويب النشطة في النافذة أم لا. لا تؤثّر هذه العلامة في ما إذا كان سيتم التركيز على النافذة (راجِع
windows.update
). وتكون القيم التلقائيةtrue
. -
المؤشر
الرقم اختياري
الموضع الذي يجب أن تتخذه علامة التبويب في النافذة يتم تثبيت القيمة المقدَّمة بين صفر وعدد علامات التبويب في النافذة.
-
openerTabId
الرقم اختياري
رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه. في حال تحديد علامة تبويب للفتح، يجب أن تكون في النافذة نفسها التي تحتوي عليها علامة التبويب التي تم إنشاؤها حديثًا.
-
تم تثبيته
قيمة منطقية اختيارية
ما إذا كان يجب تثبيت علامة التبويب أم لا القيمة التلقائية هي
false
. -
تم تحديد هذا الخيار
قيمة منطقية اختيارية
متوقّفة نهائيًايُرجى استخدام القيمة active.
لتحديد ما إذا كان يجب أن تصبح علامة التبويب هي علامة التبويب المحدّدة في النافذة. القيمة التلقائية هي
true
. -
url
سلسلة اختيارية
عنوان URL الذي سيتم الانتقال إليه مبدئيًا في علامة التبويب يجب أن تحتوي عناوين URL المؤهلة بالكامل على مخطّط (أي "http://www.google.com" وليس "www.google.com"). ترتبط عناوين URL النسبية بالصفحة الحالية داخل الإضافة. يتم ضبط الإعدادات التلقائية على صفحة "علامة تبويب جديدة".
-
windowId
الرقم اختياري
النافذة التي تريد إنشاء علامة التبويب الجديدة فيها يتم استخدام القيمة التلقائية على النافذة الحالية.
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab: Tab) => void
-
tab
علامة التبويب التي تم إنشاؤها
-
المرتجعات
-
وعود<Tab>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
ترصد هذه الميزة اللغة الأساسية للمحتوى في علامة تبويب.
المعلمات
-
tabId
الرقم اختياري
يتم ضبط الإعدادات التلقائية على علامة التبويب النشطة في النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(language: string) => void
-
language
سلسلة
تمثّل هذه السمة رمز لغة ISO، مثل
en
أوfr
. للحصول على قائمة كاملة باللغات التي تتيحها هذه الطريقة، يمكنك الاطّلاع على kLanguageInfoTable. يتم التحقق من الأعمدة من الثانية إلى الرابعة ويتم عرض أول قيمة ليست فارغة (NULL)، باستثناء الصينية المبسطة التي يتم عرضzh-CN
لها. للغة غير معروفة/غير معروفة، يتم عرضund
.
-
المرتجعات
-
وعود<string>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
يؤدي هذا الإجراء إلى تجاهل علامة تبويب من الذاكرة. وستظل علامات التبويب التي تم تجاهلها مرئية في شريط علامات التبويب وتتم إعادة تحميلها عند تفعيلها.
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب المطلوب تجاهلها. وفي حال تحديد علامة التبويب هذه، سيتم تجاهلها ما لم تكن نشطة أو سبق أن تم تجاهلها. في حال تم حذفها، يتجاهل المتصفح علامة التبويب الأقل أهمية. قد يتعذّر تنفيذ هذا الإجراء في حال عدم وجود علامات تبويب يمكن تجاهلها.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab?: Tab) => void
-
tab
علامة التبويب اختيارية
علامة التبويب "تم تجاهلها"، إذا تم تجاهلها بنجاح؛ غير محددة بطريقة أخرى.
-
المرتجعات
-
وعود <Tab | غير محددة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
)
يؤدي النقر إلى تكرار علامة تبويب.
المعلمات
-
tabId
الرقم
رقم تعريف علامة التبويب المطلوب إنشاء نسخة طبق الأصل منها.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab?: Tab) => void
-
tab
علامة التبويب اختيارية
تفاصيل حول علامة التبويب المكرّرة. لا يحتوي العنصر
tabs.Tab
علىurl
وpendingUrl
وtitle
وfavIconUrl
إذا لم يتم طلب إذن"tabs"
.
-
المرتجعات
-
وعود <Tab | غير محددة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
)
تم استبداله بـ scripting.executeScript
في إصدار Manifest V3.
لإدخال رمز JavaScript في إحدى الصفحات لمعرفة التفاصيل، يُرجى الاطّلاع على قسم الإدخال الآلي في مستند النصوص البرمجية للمحتوى.
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب التي سيتمّ تشغيل النص البرمجي فيها افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
التفاصيل
تفاصيل النص البرمجي المطلوب تشغيله. يجب ضبط الرمز أو خاصية الملف، ولكن لا يمكن ضبطهما في الوقت نفسه.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result?: any[]) => void
-
نتيجة
أي[] اختياري
نتيجة النص البرمجي في كل إطار تم إدخاله.
-
المرتجعات
-
Promise<any[] | غير محددة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
لاسترداد التفاصيل حول علامة التبويب المحددة.
المعلمات
-
tabId
الرقم
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab: Tab) => void
-
tab
-
المرتجعات
-
وعود<Tab>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
)
يُرجى استخدام tabs.query
{windowId: windowId}
.
الحصول على تفاصيل حول جميع علامات التبويب في النافذة المحدّدة
المعلمات
-
windowId
الرقم اختياري
يتم استخدام القيمة التلقائية على النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tabs: Tab[]) => void
-
علامات التبويب
-
المرتجعات
-
وعود<Tab[]>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
يتم جلب علامة التبويب التي يتم منها استدعاء النص البرمجي هذا. تعرض undefined
إذا تم طلبها من سياق لا يتضمّن علامات تبويب (على سبيل المثال، صفحة خلفية أو عرض نافذة منبثقة).
المعلمات
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab?: Tab) => void
-
tab
علامة التبويب اختيارية
-
المرتجعات
-
وعود <Tab | غير محددة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
)
يُرجى استخدام tabs.query
{active: true}
.
الحصول على علامة التبويب التي تم اختيارها في النافذة المحدّدة
المعلمات
-
windowId
الرقم اختياري
يتم استخدام القيمة التلقائية على النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab: Tab) => void
-
tab
-
المرتجعات
-
وعود<Tab>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
للحصول على عامل التكبير/التصغير الحالي لعلامة تبويب محدّدة.
المعلمات
-
tabId
الرقم اختياري
معرِّف علامة التبويب للحصول على عامل التكبير/التصغير الحالي افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(zoomFactor: number) => void
-
zoomFactor
الرقم
عامل التكبير/التصغير الحالي لعلامة التبويب
-
المرتجعات
-
Promise<number>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
)
الحصول على إعدادات التكبير/التصغير الحالية لعلامة تبويب محدّدة
المعلمات
-
tabId
الرقم اختياري
معرِّف علامة التبويب للحصول على إعدادات التكبير/التصغير الحالية افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(zoomSettings: ZoomSettings) => void
-
zoomSettings
إعدادات التكبير أو التصغير الحالية في علامة التبويب
-
المرتجعات
-
Promise<ZoomSettings>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
)
الرجوع إلى الصفحة السابقة، في حال توفّرها
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب الخاصة بالرجوع إلى الصفحة السابقة افتراضيًا على علامة التبويب المحددة في النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
انتقِل إلى الصفحة التالية في حال توفّرها.
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب المخصّصة للانتقال إلى الأمام افتراضيًا على علامة التبويب المحددة في النافذة الحالية.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
group()
chrome.tabs.group(
options: object,
callback?: function,
)
إذا تمت إضافة علامة تبويب واحدة أو أكثر إلى مجموعة محدّدة، أو إذا لم يتم تحديد أي مجموعة، ستتم إضافة علامات التبويب المحدّدة إلى مجموعة تم إنشاؤها حديثًا.
المعلمات
-
الخيارات
كائن
-
createProperties
الكائن اختياري
إعدادات إنشاء مجموعة لا يمكن استخدام هذه السمة إذا تم تحديد groupId مسبقًا.
-
windowId
الرقم اختياري
نافذة المجموعة الجديدة. يتم تطبيق القيمة التلقائية على النافذة الحالية.
-
-
groupId
الرقم اختياري
رقم تعريف المجموعة المطلوب إضافة علامات التبويب إليها وفي حال عدم تحديده، سيتم إنشاء مجموعة جديدة.
-
tabIds
الرقم | [رقم، ...رقم[]]
رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إضافتها إلى المجموعة المحدّدة
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(groupId: number) => void
-
groupId
الرقم
رقم تعريف المجموعة التي تمت إضافة علامات التبويب إليها.
-
المرتجعات
-
Promise<number>
لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
)
يميز علامات التبويب المحددة ويركز على أول مجموعة. لن يتخذ أي إجراء إذا كانت علامة التبويب المحدّدة نشطة حاليًا.
المعلمات
-
highlightInfo
كائن
-
علامات التبويب
الرقم | رقم[]
يجب إبراز فهارس علامة تبويب واحدة أو أكثر.
-
windowId
الرقم اختياري
النافذة التي تحتوي على علامات التبويب
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(window: Window) => void
-
نافذة
تحتوي على تفاصيل حول النافذة التي تم تمييز علامات التبويب الخاصة بها.
-
المرتجعات
-
Promise<windows.Window>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
insertCSS()
chrome.tabs.insertCSS(
tabId?: number,
details: InjectDetails,
callback?: function,
)
تم استبداله بـ scripting.insertCSS
في إصدار Manifest V3.
لإدخال CSS في صفحة. يمكن إزالة الأنماط المُدرجة بهذه الطريقة باستخدام scripting.removeCSS
. لمعرفة التفاصيل، يُرجى الاطّلاع على قسم الإدخال الآلي في مستند النصوص البرمجية للمحتوى.
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب التي يجب إدراج CSS فيها افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
التفاصيل
تفاصيل نص CSS المطلوب إدراجه. يجب ضبط الرمز أو خاصية الملف، ولكن لا يمكن ضبطهما في الوقت نفسه.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
لنقل علامة تبويب واحدة أو أكثر إلى موضع جديد داخل نافذتها، أو إلى نافذة جديدة. لاحظ أنه يمكن فقط نقل علامات التبويب من وإلى النوافذ العادية (window.type === "normal").
المعلمات
-
tabIds
الرقم | رقم[]
رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب نقلها
-
moveProperties
كائن
-
المؤشر
الرقم
موضع نقل النافذة استخدِم
-1
لوضع علامة التبويب في نهاية النافذة. -
windowId
الرقم اختياري
يتم ضبط الإعدادات التلقائية على النافذة التي تتوفّر فيها علامة التبويب حاليًا.
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tabs: Tab | Tab[]) => void
-
علامات التبويب
تفاصيل حول علامات التبويب التي تم نقلها
-
المرتجعات
-
وعود <Tab | مفتاح التبويب (Tab)[]>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
الحصول على جميع علامات التبويب التي تحتوي على السمات المحدّدة، أو كل علامات التبويب إذا لم يتم تحديد أي خصائص
المعلمات
-
queryInfo
كائن
-
نشطة
قيمة منطقية اختيارية
ما إذا كانت علامات التبويب نشطة في نوافذها.
-
تطبيق audible
قيمة منطقية اختيارية
الإصدار 45 من Chrome أو الإصدارات الأحدثما إذا كانت علامات التبويب مسموعة.
-
autoDiscardable
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثيمكنك اختيار ما إذا كان يمكن للمتصفّح تجاهل علامات التبويب تلقائيًا عند انخفاض الموارد.
-
currentWindow
قيمة منطقية اختيارية
ما إذا كانت علامات التبويب في النافذة الحالية أم لا.
-
تم التجاهل
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثما إذا كان سيتم تجاهل علامات التبويب أم لا. علامة التبويب التي تم تجاهلها هي علامة تبويب تم إلغاء تحميل محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. وتتم إعادة تحميل محتواها عند تفعيله في المرة التالية.
-
groupId
الرقم اختياري
الإصدار 88 من Chrome أو الإصدارات الأحدثرقم تعريف المجموعة التي تتضمن علامات التبويب، أو
tabGroups.TAB_GROUP_ID_NONE
لعلامات التبويب غير المجمّعة. -
بارزة
قيمة منطقية اختيارية
تحديد ما إذا كان قد تم تمييز علامات التبويب أم لا
-
المؤشر
الرقم اختياري
موضع علامات التبويب داخل نوافذها.
-
lastFocusedWindow
قيمة منطقية اختيارية
ما إذا كانت علامات التبويب في آخر نافذة يتم التركيز عليها.
-
تم كتم الصوت
قيمة منطقية اختيارية
الإصدار 45 من Chrome أو الإصدارات الأحدثما إذا كان قد تم كتم صوت علامات التبويب أم لا
-
تم تثبيته
قيمة منطقية اختيارية
ما إذا كانت علامات التبويب مثبَّتة أم لا
-
status
TabStatus اختيارية
حالة تحميل علامة التبويب.
-
title
سلسلة اختيارية
مطابقة عناوين الصفحات مع أحد الأنماط يتم تجاهل هذه السمة إذا لم يكن للإضافة إذن
"tabs"
. -
url
string | string[] اختيارية
مطابقة علامات التبويب مع نمط عنوان URL واحد أو أكثر معرّفات الأجزاء غير متطابقة. يتم تجاهل هذه السمة إذا لم يكن للإضافة إذن
"tabs"
. -
windowId
الرقم اختياري
رقم تعريف النافذة الرئيسية أو
windows.WINDOW_ID_CURRENT
للنافذة الحالية -
windowType
WindowType اختياري
نوع النافذة التي توجد بها علامات التبويب.
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: Tab[]) => void
-
نتيجة
-
المرتجعات
-
وعود<Tab[]>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
أعِد تحميل إحدى علامات التبويب.
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب المطلوب إعادة تحميلها افتراضيًا على علامة التبويب المحددة في النافذة الحالية.
-
reloadProperties
الكائن اختياري
-
bypassCache
قيمة منطقية اختيارية
تحديد ما إذا كان سيتم تجاوز التخزين المؤقت المحلي أم لا. وتكون القيمة التلقائية هي
false
.
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
يغلق هذا الزر علامة تبويب واحدة أو أكثر.
المعلمات
-
tabIds
الرقم | رقم[]
رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إغلاقها
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
)
تم استبداله بـ scripting.removeCSS
في إصدار Manifest V3.
تتم إزالة هذه السمة من خدمة CSS لصفحة تم إدخالها في السابق من خلال استدعاء إلى scripting.insertCSS
.
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب المطلوب إزالة خدمة CSS منها افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
التفاصيل
تفاصيل نص CSS المطلوب إزالته. يجب ضبط الرمز أو خاصية الملف، ولكن لا يمكن ضبطهما في الوقت نفسه.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
يرسل رسالة واحدة إلى النصوص البرمجية للمحتوى في علامة التبويب المحدّدة، مع استدعاء اختياري لتشغيله عند إرسال الرد. يتم تنشيط حدث runtime.onMessage
في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافة الحالية.
المعلمات
-
tabId
الرقم
-
رسالة
أي واحد
الرسالة المطلوب إرسالها. يجب أن تكون هذه الرسالة كائن JSON قابل للتحديد.
-
الخيارات
الكائن اختياري
-
documentId
سلسلة اختيارية
الإصدار 106 من Chrome أو الإصدارات الأحدثيمكنك إرسال رسالة إلى مستند محدّد يتم تحديده من خلال "
documentId
" بدلاً من إرسال رسالة إلى جميع الإطارات في علامة التبويب. -
frameId
الرقم اختياري
يمكنك إرسال رسالة إلى إطار محدّد يتم تحديده من خلال "
frameId
" بدلاً من إرسال رسالة إلى جميع الإطارات في علامة التبويب.
-
-
رد الاتصال
الدالة اختيارية
الإصدار 99 من Chrome أو الإصدارات الأحدثتظهر المَعلمة
callback
على النحو التالي:(response: any) => void
-
رد
أي واحد
كائن استجابة JSON الذي أرسله معالج الرسالة. إذا حدث خطأ أثناء الاتصال بعلامة التبويب المحدّدة، يتم استدعاء هذه الدالة بدون وسيطات، وسيتم ضبط
runtime.lastError
على رسالة الخطأ.
-
المرتجعات
-
تقديم وعود<any>
الإصدار 99 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
)
يُرجى استخدام runtime.sendMessage
.
يرسل طلبًا واحدًا إلى النصوص البرمجية للمحتوى في علامة التبويب المحدّدة، مع استدعاء اختياري لتشغيله عند إرسال الرد. يتم تنشيط حدث extension.onRequest
في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافة الحالية.
المعلمات
-
tabId
الرقم
-
طلب
أي واحد
-
رد الاتصال
الدالة اختيارية
الإصدار 99 من Chrome أو الإصدارات الأحدثتظهر المَعلمة
callback
على النحو التالي:(response: any) => void
-
رد
أي واحد
كائن استجابة JSON الذي أرسله معالج الطلب. إذا حدث خطأ أثناء الاتصال بعلامة التبويب المحدّدة، يتم استدعاء هذه الدالة بدون وسيطات، وسيتم ضبط
runtime.lastError
على رسالة الخطأ.
-
المرتجعات
-
تقديم وعود<any>
الإصدار 99 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
لتكبير علامة تبويب محدّدة
المعلمات
-
tabId
الرقم اختياري
رقم تعريف علامة التبويب للتكبير/التصغير افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
zoomFactor
الرقم
عامل التكبير/التصغير الجديد. تضبط قيمة
0
علامة التبويب على عامل التكبير التلقائي الحالي. تحدِّد القيم الأكبر من0
عامل تكبير/تصغير (قد يكون غير تلقائي) لعلامة التبويب. -
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
لضبط إعدادات التكبير/التصغير لعلامة تبويب محدّدة، والتي تحدِّد كيفية التعامل مع تغييرات التكبير/التصغير. وتتم إعادة ضبط هذه الإعدادات على الإعدادات التلقائية عند التنقّل في علامة التبويب.
المعلمات
-
tabId
الرقم اختياري
معرِّف علامة التبويب المطلوب تغيير إعدادات التكبير/التصغير الخاصة بها: افتراضيًا على علامة التبويب النشطة في النافذة الحالية.
-
zoomSettings
يحدد كيفية التعامل مع تغييرات التكبير/التصغير وعلى أي نطاق.
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
)
إزالة علامة تبويب واحدة أو أكثر من المجموعات المعنيّة في حال أصبحت أي مجموعات فارغة، سيتم حذفها.
المعلمات
-
tabIds
الرقم | [رقم، ...رقم[]]
رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إزالتها من المجموعات المعنيّة
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
وعود <باطلة>
لا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
)
لتعديل خصائص علامة التبويب. لا يتم تعديل الخصائص غير المحدَّدة في updateProperties
.
المعلمات
-
tabId
الرقم اختياري
يتم ضبط الإعدادات التلقائية على علامة التبويب المحدّدة في النافذة الحالية.
-
updateProperties
كائن
-
نشطة
قيمة منطقية اختيارية
لتحديد ما إذا كان يجب أن تكون علامة التبويب نشطة أم لا. لا تؤثّر هذه العلامة في ما إذا كان سيتم التركيز على النافذة (راجِع
windows.update
). -
autoDiscardable
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثيحدِّد ذلك ما إذا كان يجب أن يتجاهل المتصفِّح علامة التبويب تلقائيًا عند انخفاض الموارد.
-
بارزة
قيمة منطقية اختيارية
لإضافة علامة التبويب أو إزالتها من التحديد الحالي
-
تم كتم الصوت
قيمة منطقية اختيارية
الإصدار 45 من Chrome أو الإصدارات الأحدثما إذا كان يجب كتم صوت علامة التبويب أم لا
-
openerTabId
الرقم اختياري
رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه. في حال تحديد علامة تبويب لفتحها، يجب أن تكون في النافذة نفسها التي تحتوي عليها علامة التبويب هذه.
-
تم تثبيته
قيمة منطقية اختيارية
ما إذا كان يجب تثبيت علامة التبويب أم لا
-
تم تحديد هذا الخيار
قيمة منطقية اختيارية
متوقّفة نهائيًايُرجى استخدام القيمة المميّزة.
لتحديد ما إذا كان يجب اختيار علامة التبويب أم لا.
-
url
سلسلة اختيارية
عنوان URL الذي تريد الانتقال إليه في علامة التبويب عناوين URL باستخدام JavaScript غير متوافقة. استخدام
scripting.executeScript
بدلاً من ذلك.
-
-
رد الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab?: Tab) => void
-
tab
علامة التبويب اختيارية
تفاصيل حول علامة التبويب المعدّلة لا يحتوي العنصر
tabs.Tab
علىurl
وpendingUrl
وtitle
وfavIconUrl
إذا لم يتم طلب إذن"tabs"
.
-
المرتجعات
-
وعود <Tab | غير محددة>
الإصدار 88 من Chrome أو الإصدارات الأحدثلا تتوفّر الوعود إلا مع إصدار Manifest V3 والإصدارات الأحدث، وتحتاج الأنظمة الأساسية الأخرى إلى استخدام عمليات معاودة الاتصال.
فعاليات
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
يتم إطلاقه عندما تتغير علامة التبويب النشطة في إحدى النوافذ. وتجدر الإشارة إلى أنّه قد لا يتم ضبط عنوان URL لعلامة التبويب عند تنشيط هذا الحدث، ولكن يمكنك الاستماع إلى أحداث on Update لكي تتلقّى إشعارًا عند ضبط عنوان URL.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(activeInfo: object) => void
-
activeInfo
كائن
-
tabId
الرقم
رقم تعريف علامة التبويب التي أصبحت نشطة.
-
windowId
الرقم
رقم تعريف النافذة التي غيّرت علامة التبويب النشطة داخلها
-
-
onActiveChanged
chrome.tabs.onActiveChanged.addListener(
callback: function,
)
يُرجى استخدام tabs.onActivated
.
يتم إطلاقه عند تغيُّر علامة التبويب المحدَّدة في نافذة. يُرجى العلم أنّه قد لا يتم ضبط عنوان URL لعلامة التبويب عند تنشيط هذا الحدث، ولكن يمكنك الاستماع إلى أحداث tabs.onUpdated
لكي تتلقّى إشعارات عند ضبط عنوان URL.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, selectInfo: object) => void
-
tabId
الرقم
-
selectInfo
كائن
-
windowId
الرقم
رقم تعريف النافذة التي تم تغيير علامة التبويب المحدّدة داخلها
-
-
onAttached
chrome.tabs.onAttached.addListener(
callback: function,
)
يتم تشغيله عند إرفاق علامة تبويب بنافذة. على سبيل المثال، لأنه تم نقله بين النوافذ.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, attachInfo: object) => void
-
tabId
الرقم
-
attachInfo
كائن
-
newPosition
الرقم
-
newWindowId
الرقم
-
-
onCreated
chrome.tabs.onCreated.addListener(
callback: function,
)
يتم تنشيطها عند إنشاء علامة تبويب. تجدُر الإشارة إلى أنّه قد لا يتم ضبط عنوان URL لعلامة التبويب والعضوية في مجموعة علامات التبويب عند تنشيط هذا الحدث، ولكن يمكنك الاستماع إلى أحداث on Update لكي تتلقّى إشعارات عند ضبط عنوان URL أو عند إضافة علامة التبويب إلى مجموعة علامات تبويب.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tab: Tab) => void
-
tab
-
onDetached
chrome.tabs.onDetached.addListener(
callback: function,
)
يتم تشغيله عند فصل علامة تبويب عن نافذة. على سبيل المثال، لأنه تم نقله بين النوافذ.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, detachInfo: object) => void
-
tabId
الرقم
-
detachInfo
كائن
-
oldPosition
الرقم
-
oldWindowId
الرقم
-
-
onHighlightChanged
chrome.tabs.onHighlightChanged.addListener(
callback: function,
)
يُرجى استخدام tabs.onHighlighted
.
يتم تشغيله عند تغيُّر علامات التبويب المميّزة أو المحدّدة في إحدى النوافذ.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(selectInfo: object) => void
-
selectInfo
كائن
-
tabIds
رقم[]
كل علامات التبويب التي تم تمييزها في النافذة
-
windowId
الرقم
النافذة التي تم تغيير علامات التبويب الخاصة بها
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
يتم تشغيله عند تغيُّر علامات التبويب المميّزة أو المحدّدة في إحدى النوافذ.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(highlightInfo: object) => void
-
highlightInfo
كائن
-
tabIds
رقم[]
كل علامات التبويب التي تم تمييزها في النافذة
-
windowId
الرقم
النافذة التي تم تغيير علامات التبويب الخاصة بها
-
-
onMoved
chrome.tabs.onMoved.addListener(
callback: function,
)
يتم تفعيله عند نقل علامة تبويب داخل نافذة. يتم تنشيط حدث نقل واحد فقط، وهو يمثل علامة التبويب التي انتقل إليها المستخدم مباشرةً. ولا يتم تنشيط أحداث النقل لعلامات التبويب الأخرى التي يجب نقلها استجابةً لعلامة التبويب التي تم نقلها يدويًا. لا يتم تنشيط هذا الحدث عند نقل علامة تبويب بين النوافذ. لمعرفة التفاصيل، يُرجى الاطّلاع على tabs.onDetached
.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, moveInfo: object) => void
-
tabId
الرقم
-
moveInfo
كائن
-
fromIndex
الرقم
-
toIndex
الرقم
-
windowId
الرقم
-
-
onRemoved
chrome.tabs.onRemoved.addListener(
callback: function,
)
يتم تنشيطها عند إغلاق علامة تبويب.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, removeInfo: object) => void
-
tabId
الرقم
-
removeInfo
كائن
-
isWindowClosing
منطقي
صحيح عند إغلاق علامة التبويب بسبب إغلاق نافذتها الرئيسية.
-
windowId
الرقم
النافذة التي تم إغلاق علامة التبويب الخاصة بها
-
-
onReplaced
chrome.tabs.onReplaced.addListener(
callback: function,
)
يتم إطلاقه عند استبدال علامة تبويب بعلامة تبويب أخرى بسبب العرض المُسبَق أو البحث الفوري.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(addedTabId: number, removedTabId: number) => void
-
addedTabId
الرقم
-
removedTabId
الرقم
-
onSelectionChanged
chrome.tabs.onSelectionChanged.addListener(
callback: function,
)
يُرجى استخدام tabs.onActivated
.
يتم إطلاقه عند تغيُّر علامة التبويب المحدَّدة في نافذة.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, selectInfo: object) => void
-
tabId
الرقم
-
selectInfo
كائن
-
windowId
الرقم
رقم تعريف النافذة التي تم تغيير علامة التبويب المحدّدة داخلها
-
-
onUpdated
chrome.tabs.onUpdated.addListener(
callback: function,
)
يتم تنشيطه عند تحديث علامة تبويب.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(tabId: number, changeInfo: object, tab: Tab) => void
-
tabId
الرقم
-
changeInfo
كائن
-
تطبيق audible
قيمة منطقية اختيارية
الإصدار 45 من Chrome أو الإصدارات الأحدثحالة المحتوى الصوتي الجديدة في علامة التبويب
-
autoDiscardable
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثالحالة الجديدة التي يمكن تجاهلها تلقائيًا في علامة التبويب
-
تم التجاهل
قيمة منطقية اختيارية
الإصدار 54 من Chrome أو الإصدارات الأحدثحالة تجاهل علامة التبويب الجديدة
-
favIconUrl
سلسلة اختيارية
هو عنوان URL الجديد للرمز المفضّل في علامة التبويب.
-
groupId
الرقم اختياري
الإصدار 88 من Chrome أو الإصدارات الأحدثالمجموعة الجديدة لعلامة التبويب.
-
mutedInfo
MutedInfo اختيارية
الإصدار 46 من Chrome أو الإصدارات الأحدثحالة كتم الصوت الجديدة لعلامة التبويب وسبب التغيير.
-
تم تثبيته
قيمة منطقية اختيارية
حالة التثبيت الجديدة لعلامة التبويب.
-
status
TabStatus اختيارية
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
الإصدار 48 من Chrome أو الإصدارات الأحدثعنوان علامة التبويب الجديد.
-
url
سلسلة اختيارية
عنوان URL لعلامة التبويب إذا تم تغييره.
-
-
tab
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
يتم تنشيطها عند تكبير علامة التبويب.
المعلمات
-
رد الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
كائن
-
newZoomFactor
الرقم
-
oldZoomFactor
الرقم
-
tabId
الرقم
-
zoomSettings
-
-