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