الوصف
استخدِم واجهة برمجة التطبيقات 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
إلى ظهور أي تحذيرات.
البيان
في ما يلي أمثلة على كيفية الإفصاح عن كل إذن في manifest:
{
"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
سلسلة اختيارية
رقم تعريف الإضافة التي غيّرت حالة كتم الصوت لا يتم ضبط هذا الإعداد إذا لم تكن إحدى الإضافات هي سبب آخر تغيير في حالة كتم الصوت.
-
تم كتم الصوت
قيمة منطقية
ما إذا تم كتم صوت علامة التبويب (منع تشغيل الصوت) قد يتم كتم صوت علامة التبويب حتى إذا لم يتم تشغيل الصوت أو إذا لم يكن الصوت قيد التشغيل حاليًا. يشير ذلك إلى ما إذا كان مؤشر الصوت "مكتوم" يظهر.
-
السبب
MutedInfoReason اختياري
سبب كتم صوت علامة التبويب أو إزالة كتم صوتها لا يتم ضبطه إذا لم يتم تغيير حالة كتم صوت علامة التبويب مطلقًا.
MutedInfoReason
حدث أدّى إلى تغيير حالة كتم الصوت
التعداد
"user"
ضبط حالة كتم الصوت من خلال إجراء إدخال المستخدم
"capture"
تم بدء عملية تسجيل علامة التبويب، ما أدى إلى تغيير حالة كتم الصوت.
"extension"
ضبط حالة كتم الصوت من خلال إضافة تم تحديدها من خلال حقل extensionId
Tab
أماكن إقامة
-
نشطة
قيمة منطقية
ما إذا كانت علامة التبويب نشطة في نافذتها لا يعني ذلك بالضرورة أنّ النافذة مركّز عليها.
-
تطبيق audible
منطقي اختياري
Chrome 45 والإصدارات الأحدثما إذا كانت علامة التبويب قد بثت صوتًا خلال آخر ثانيتَين (قد لا يكون الصوت مسموعًا إذا تم كتم صوته أيضًا) يعادل ما إذا كان مؤشر "صوت المكبّر" معروضًا.
-
autoDiscardable
قيمة منطقية
Chrome 54 والإصدارات الأحدثما إذا كان بإمكان المتصفح تجاهل علامة التبويب تلقائيًا عندما تكون الموارد منخفضة
-
تم التجاهل
قيمة منطقية
Chrome 54 والإصدارات الأحدثما إذا كان سيتم تجاهل علامة التبويب علامة التبويب التي تم تجاهلها هي علامة تم تفريغ محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. ويتم إعادة تحميل محتواه في المرة التالية التي يتم فيها تفعيله.
-
favIconUrl
سلسلة اختيارية
عنوان URL للرمز المفضّل للعلامة. لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن
"tabs"
. وقد تكون أيضًا سلسلة فارغة إذا كانت علامة التبويب قيد التحميل. -
معلّقة
قيمة منطقية
في انتظار المراجعةما إذا كانت علامة التبويب متوقفة لا يمكن لعلامة التبويب المجمّدة تنفيذ المهام، بما في ذلك معالجات الأحداث أو الموقّتات. وهي تظهر في شريط علامات التبويب ويتم تحميل محتواها في الذاكرة. ويتم إلغاء تجميدها عند التفعيل.
-
groupId
الرقم
الإصدار 88 من Chrome والإصدارات الأحدثمعرّف المجموعة التي تنتمي إليها علامة التبويب.
-
الطول
رقم اختياري
ارتفاع علامة التبويب بالبكسل
-
بارزة
قيمة منطقية
ما إذا كانت علامة التبويب مميّزة
-
id
رقم اختياري
معرّف علامة التبويب. تكون أرقام تعريف علامات التبويب فريدة داخل جلسة المتصفّح. في بعض الحالات، قد لا يتم منح علامة تبويب رقم تعريف. على سبيل المثال، عند طلب البحث عن علامات تبويب أجنبية باستخدام واجهة برمجة التطبيقات
sessions
، قد يكون هناك رقم تعريف جلسة. يمكن أيضًا ضبط رقم تعريف علامة التبويب علىchrome.tabs.TAB_ID_NONE
للتطبيقات ونوافذ أدوات المطوّرين. -
وضع التصفّح المتخفي
قيمة منطقية
ما إذا كانت علامة التبويب في نافذة تصفّح متخفٍ
-
المؤشر
الرقم
الفهرس المبدوء من الصفر لعلامة التبويب ضمن نافذتها
-
lastAccessed
الرقم
Chrome 121 والإصدارات الأحدثآخر مرة تم فيها الوصول إلى علامة التبويب بالتنسيق عدد المللي ثانية منذ بدء حساب الوقت
-
mutedInfo
MutedInfo اختياري
Chrome 46 والإصدارات الأحدثحالة كتم صوت علامة التبويب وسبب تغيير الحالة الأخير
-
openerTabId
رقم اختياري
رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه، إن توفّرت. لا تتوفّر هذه السمة إلا إذا كانت علامة التبويب التي فتحت التطبيق لا تزال متوفّرة.
-
pendingUrl
سلسلة اختيارية
الإصدار 79 من Chrome والإصدارات الأحدثعنوان URL الذي تنتقل إليه علامة التبويب قبل أن يتم تأكيده. لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن
"tabs"
وكان هناك عملية انتقال في انتظار المراجعة. -
تم تثبيته
قيمة منطقية
ما إذا كانت علامة التبويب قد تم تثبيتها
-
تم تحديد هذا الخيار
قيمة منطقية
تمّ إيقافه نهائيًايُرجى استخدام
tabs.Tab.highlighted
.ما إذا كانت علامة التبويب محدّدة
-
sessionId
سلسلة اختيارية
معرّف الجلسة المستخدَم لتحديد علامة تبويب بشكل فريد تم الحصول عليه من واجهة برمجة التطبيقات
sessions
. -
status
TabStatus اختياري
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
عنوان علامة التبويب لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن
"tabs"
. -
url
سلسلة اختيارية
آخر عنوان URL تمّ تأكيده للإطار الرئيسي لعلامة التبويب. لا تظهر هذه السمة إلا إذا كان بيان الإضافة يتضمّن الإذن
"tabs"
، وقد تكون سلسلة فارغة إذا لم يتمّ تأكيد علامة التبويب بعد. يمكنك أيضًا الاطّلاع علىTab.pendingUrl
. -
العرض
رقم اختياري
عرض علامة التبويب بالبكسل
-
windowId
الرقم
رقم تعريف النافذة التي تحتوي على علامة التبويب
TabStatus
حالة تحميل علامة التبويب
التعداد
"unloaded"
"loading"
"مكتملة"
WindowType
نوع النافذة.
التعداد
"normal"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
تحدِّد كيفية معالجة تغييرات التكبير/التصغير في علامة تبويب ونطاقها.
أماكن إقامة
-
defaultZoomFactor
رقم اختياري
Chrome 43 والإصدارات الأحدثتُستخدَم لعرض مستوى التكبير أو التصغير التلقائي لعلامة التبويب الحالية في طلبات الاتصال بـ tabs.getZoomSettings.
-
الوضع
ZoomSettingsMode اختياري
يحدِّد كيفية التعامل مع تغييرات التصغير/التكبير، أي الكيان المسؤول عن تغيير حجم الصفحة الفعلي. القيمة التلقائية هي
automatic
. -
نطاق
ZoomSettingsScope اختياري
يحدِّد ما إذا كانت تغييرات التصغير/التكبير تبقى سارية في مصدر الصفحة أو تسري فقط في علامة التبويب هذه. الإعداد التلقائي هو
per-origin
في وضعautomatic
وper-tab
في غير ذلك.
ZoomSettingsMode
يحدِّد كيفية التعامل مع تغييرات التصغير/التكبير، أي الكيان المسؤول عن تغيير حجم الصفحة الفعلي. القيمة التلقائية هي automatic
.
التعداد
"تلقائي"
يعالج المتصفّح تغييرات التكبير/التصغير تلقائيًا.
"يدوي"
يلغى المعالجة التلقائية لتغييرات التكبير/التصغير. سيظلّ يتم إرسال الحدث onZoomChange
، وتكون مسؤولية الإضافة هي الاستماع إلى هذا الحدث وتغيير حجم الصفحة يدويًا. لا يتيح هذا الوضع التكبير/التصغير بنسبة per-origin
، وبالتالي يتجاهل إعداد التكبير/التصغير بنسبة scope
ويفترض أنّه per-tab
.
"disabled"
يؤدي هذا الخيار إلى إيقاف كل عمليات التصغير أو التكبير في علامة التبويب. تعود علامة التبويب إلى مستوى التكبير أو التصغير التلقائي، ويتم تجاهل جميع التغييرات التي تمّت محاولة إجراؤها على مستوى التكبير أو التصغير.
ZoomSettingsScope
يحدِّد ما إذا كانت تغييرات التصغير/التكبير تبقى سارية في مصدر الصفحة أو تسري فقط في علامة التبويب هذه. الإعداد التلقائي هو per-origin
في وضع automatic
وper-tab
في غير ذلك.
التعداد
"حسب المصدر"
تبقى تغييرات التكبير/التصغير محفوظة في مصدر الصفحة التي تم تكبيرها، أي أنّه يتم تكبير جميع علامات التبويب الأخرى التي يتم الانتقال إليها من هذا المصدر نفسه أيضًا. بالإضافة إلى ذلك، 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 الخاصة بـ data:. ولا يمكن تسجيل هذه المواقع الإلكترونية الحسّاسة إلا باستخدام إذن activeTab. لا يمكن تسجيل عناوين URL للملفات إلا إذا تم منح الإضافة إذن الوصول إلى الملفات.
المعلمات
-
windowId
رقم اختياري
النافذة المستهدَفة الإعداد التلقائي هو النافذة الحالية.
-
الخيارات
ImageDetails اختيارية
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(dataUrl: string) => void
-
dataUrl
سلسلة
عنوان URL للبيانات الذي يشفِّر صورة للمنطقة المرئية من علامة التبويب التي تم التقاطها يمكن تعيينه إلى سمة src لعنصر
img
في HTML لعرضه.
-
المرتجعات
-
Promise<string>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
)
يتم ربطها بنصوص المحتوى في علامة التبويب المحدّدة. يتم تشغيل الحدث runtime.onConnect
في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافات الحالية. لمزيد من التفاصيل، يُرجى الاطّلاع على الرسائل في محتوى Script.
المعلمات
-
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
-
tab
علامة التبويب التي تم إنشاؤها
-
المرتجعات
-
وعد<مفتاح التبويب>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
)
ترصد اللغة الأساسية للمحتوى في علامة تبويب.
المعلمات
-
tabId
رقم اختياري
الإعداد التلقائي هو علامة التبويب النشطة في النافذة الحالية.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(language: string) => void
-
language
سلسلة
رمز لغة وفقًا لمعيار ISO، مثل
en
أوfr
للحصول على قائمة كاملة باللغات المتوافقة مع هذه الطريقة، راجِع kLanguageInfoTable. يتم التحقّق من العمود الثاني إلى الرابع وعرض أول قيمة غير فارغة، باستثناء الصينية المبسّطة التي يتم عرضzh-CN
فيها. إذا كانت اللغة غير معروفة أو غير محدّدة، يتم عرض القيمةund
.
-
المرتجعات
-
Promise<string>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
)
يُلغي علامة تبويب من الذاكرة. ستظل علامات التبويب التي تم تجاهلها مرئية على شريط علامات التبويب وتتم إعادة تحميلها عند تفعيلها.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب المطلوب تجاهلها في حال تحديدها، يتم تجاهل علامة التبويب ما لم تكن نشطة أو تم تجاهلها من قبل. وفي حال عدم تحديدها، يتخلّص المتصفّح من علامة التبويب الأقل أهمية. يمكن أن يتعذّر تنفيذ ذلك إذا لم تكن هناك علامات تبويب يمكن تجاهلها.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab?: Tab) => void
-
tab
علامة تبويب اختيارية
علامة التبويب التي تم تجاهلها، إذا تم تجاهلها بنجاح، وتكون غير محدّدة في حال أخرى
-
المرتجعات
-
Promise<Tab | undefined>
الإصدار 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"
.
-
المرتجعات
-
Promise<Tab | undefined>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
executeScript()
chrome.tabs.executeScript(
tabId?: number,
details: InjectDetails,
callback?: function,
)
تم استبداله بـ scripting.executeScript
في الإصدار 3 من ملف البيان.
يتم إدخال رمز JavaScript في صفحة. لمعرفة التفاصيل، يُرجى الاطّلاع على قسم الاستيراد الآلي في مستند نصوص المحتوى.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب التي سيتم تشغيل النص البرمجي فيها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
التفاصيل
تفاصيل النص البرمجي المطلوب تنفيذه يجب ضبط رمز الملف أو خاصيته، ولكن لا يمكن ضبط كليهما في الوقت نفسه.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result?: any[]) => void
-
نتيجة
أيّ[] اختيارية
نتيجة النص البرمجي في كل إطار تمّت حقنه
-
المرتجعات
-
Promise<any[] | undefined>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
get()
chrome.tabs.get(
tabId: number,
callback?: function,
)
لاسترداد تفاصيل حول علامة التبويب المحدّدة.
المعلمات
-
tabId
الرقم
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab: Tab) => void
-
tab
-
المرتجعات
-
وعد<مفتاح التبويب>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
getAllInWindow()
chrome.tabs.getAllInWindow(
windowId?: number,
callback?: function,
)
يُرجى استخدام tabs.query
{windowId: windowId}
.
الحصول على تفاصيل عن جميع علامات التبويب في النافذة المحدّدة
المعلمات
-
windowId
رقم اختياري
الإعداد التلقائي هو النافذة الحالية.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tabs: Tab[]) => void
-
علامات التبويب
-
المرتجعات
-
Promise<Tab[]>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
)
تحصل على علامة التبويب التي يتم إجراء طلب النص البرمجي هذا منها. يعرض القيمة undefined
إذا تمّ استدعاؤه من سياق غير علامة تبويب (على سبيل المثال، صفحة في الخلفية أو عرض نافذة منبثقة).
المعلمات
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab?: Tab) => void
-
tab
علامة تبويب اختيارية
-
المرتجعات
-
Promise<Tab | undefined>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
getSelected()
chrome.tabs.getSelected(
windowId?: number,
callback?: function,
)
يُرجى استخدام tabs.query
{active: true}
.
تحصل على علامة التبويب المحدّدة في النافذة المحدّدة.
المعلمات
-
windowId
رقم اختياري
الإعداد التلقائي هو النافذة الحالية.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tab: Tab) => void
-
tab
-
المرتجعات
-
وعد<مفتاح التبويب>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
)
تحصل على عامل التكبير الحالي لعلامة تبويب محدّدة.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب التي يتم الحصول على عامل التكبير الحالي منها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(zoomFactor: number) => void
-
zoomFactor
الرقم
عامل التكبير أو التصغير الحالي لعلامة التبويب
-
المرتجعات
-
Promise<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
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
)
انتقِل إلى الصفحة التالية، إذا كانت متاحة.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب للانتقال إلى الأمام، ويتم ضبطه تلقائيًا على علامة التبويب المحددة في النافذة الحالية.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<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
في الإصدار 3 من ملف البيان.
يتم إدخال صفحات CSS في صفحة. يمكن إزالة الأنماط التي تم إدراجها باستخدام هذه الطريقة باستخدام scripting.removeCSS
. لمعرفة التفاصيل، يُرجى الاطّلاع على قسم الاستيراد الآلي في مستند نصوص المحتوى.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب التي سيتم إدراج ملف CSS فيها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
التفاصيل
تفاصيل نص CSS المطلوب إدراجه يجب ضبط رمز الملف أو خاصيته، ولكن لا يمكن ضبط كليهما في الوقت نفسه.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
move()
chrome.tabs.move(
tabIds: number | number[],
moveProperties: object,
callback?: function,
)
نقل علامة تبويب واحدة أو أكثر إلى موضع جديد في نافذتها أو إلى نافذة جديدة يُرجى العِلم أنّه لا يمكن نقل علامات التبويب إلا من النوافذ العادية (window.type === "normal") وإليها.
المعلمات
-
tabIds
عدد | عدد[]
رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب نقلها
-
moveProperties
عنصر
-
المؤشر
الرقم
الموضع الذي تريد نقل النافذة إليه. استخدِم
-1
لوضع علامة التبويب في نهاية النافذة. -
windowId
رقم اختياري
يتم ضبطها تلقائيًا على النافذة التي تظهر فيها علامة التبويب حاليًا.
-
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(tabs: Tab | Tab[]) => void
-
علامات التبويب
تفاصيل حول علامات التبويب التي تم نقلها
-
المرتجعات
-
الإصدار 88 من Chrome والإصدارات الأحدث
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
)
تحصل على جميع علامات التبويب التي تحتوي على السمات المحدّدة، أو جميع علامات التبويب في حال عدم تحديد أي سمات.
المعلمات
-
queryInfo
عنصر
-
نشطة
منطقي اختياري
ما إذا كانت علامات التبويب نشطة في النوافذ
-
تطبيق audible
منطقي اختياري
Chrome 45 والإصدارات الأحدثما إذا كانت علامات التبويب مسموعة
-
autoDiscardable
منطقي اختياري
Chrome 54 والإصدارات الأحدثما إذا كان بإمكان المتصفّح تجاهل علامات التبويب تلقائيًا عندما تكون الموارد منخفضة
-
currentWindow
منطقي اختياري
ما إذا كانت علامات التبويب في النافذة الحالية
-
تم التجاهل
منطقي اختياري
Chrome 54 والإصدارات الأحدثما إذا كان سيتم تجاهل علامات التبويب علامة التبويب التي تم تجاهلها هي علامة تم تفريغ محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. ويتم إعادة تحميل محتواه في المرة التالية التي يتم فيها تفعيله.
-
معلّقة
منطقي اختياري
في انتظار المراجعةما إذا كانت علامات التبويب مُجمَّدة لا يمكن لعلامة التبويب المجمّدة تنفيذ المهام، بما في ذلك معالجات الأحداث أو الموقّتات. وهي تظهر في شريط علامات التبويب ويتم تحميل محتواها في الذاكرة. ويتم إلغاء تجميدها عند التفعيل.
-
groupId
رقم اختياري
الإصدار 88 من Chrome والإصدارات الأحدثرقم تعريف المجموعة التي تندرج ضمنها علامات التبويب، أو
tabGroups.TAB_GROUP_ID_NONE
لعلامات التبويب غير المجمّعة -
بارزة
منطقي اختياري
ما إذا كانت علامات التبويب مميّزة
-
المؤشر
رقم اختياري
موضع علامات التبويب ضمن النوافذ
-
lastFocusedWindow
منطقي اختياري
ما إذا كانت علامات التبويب في النافذة التي تم التركيز عليها مؤخرًا
-
تم كتم الصوت
منطقي اختياري
Chrome 45 والإصدارات الأحدثما إذا كانت علامات التبويب مكتومة الصوت
-
تم تثبيته
منطقي اختياري
ما إذا كانت علامات التبويب قد تم تثبيتها
-
status
TabStatus اختياري
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
مطابقة عناوين الصفحات مع نمط يتم تجاهل هذه السمة إذا لم تكن الإضافية تملك الإذن
"tabs"
. -
url
سلسلة | سلسلة[] اختيارية
مطابقة علامات التبويب مع نمط عنوان URL واحد أو أكثر لم تتم مطابقة معرّفات الأجزاء. يتم تجاهل هذه السمة إذا لم تكن الإضافية تملك الإذن
"tabs"
. -
windowId
رقم اختياري
رقم تعريف النافذة الرئيسية، أو
windows.WINDOW_ID_CURRENT
للإشارة إلى النافذة الحالية. -
windowType
WindowType اختياري
نوع النافذة التي تظهر فيها علامات التبويب
-
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:(result: Tab[]) => void
-
نتيجة
-
المرتجعات
-
Promise<Tab[]>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
reload()
chrome.tabs.reload(
tabId?: number,
reloadProperties?: object,
callback?: function,
)
أعِد تحميل علامة تبويب.
المعلمات
-
tabId
رقم اختياري
معرّف علامة التبويب التي تريد إعادة تحميلها، ويتم ضبطه تلقائيًا على علامة التبويب المحدّدة في النافذة الحالية.
-
reloadProperties
العنصر اختياري
-
bypassCache
منطقي اختياري
ما إذا كان سيتم تجاوز ميزة التخزين المؤقت على الجهاز الإعداد التلقائي هو
false
.
-
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
)
إغلاق علامة تبويب واحدة أو أكثر
المعلمات
-
tabIds
عدد | عدد[]
رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إغلاقها
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
removeCSS()
chrome.tabs.removeCSS(
tabId?: number,
details: DeleteInjectionDetails,
callback?: function,
)
تم استبداله بـ scripting.removeCSS
في الإصدار 3 من ملف البيان.
تزيل هذه الوظيفة من الصفحة ملف CSS الذي تم إدخاله سابقًا من خلال طلب إلى scripting.insertCSS
.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب التي تريد إزالة CSS منها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
التفاصيل
تفاصيل نص CSS المطلوب إزالته يجب ضبط رمز الملف أو خاصيته، ولكن لا يمكن ضبط كليهما في الوقت نفسه.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
)
تُرسِل هذه الوظيفة رسالة واحدة إلى نصوص محتوى في علامة التبويب المحدّدة، مع إجراء استدعاء اختياري لتنفيذه عند إرسال ردّ. يتم تشغيل الحدث runtime.onMessage
في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافات الحالية.
المعلمات
-
tabId
الرقم
-
رسالة
أي واحد
الرسالة المطلوب إرسالها يجب أن تكون هذه الرسالة عنصرًا قابلاً للتحويل إلى تنسيق JSON.
-
الخيارات
العنصر اختياري
-
ردّ الاتصال
الدالة اختيارية
Chrome 99 والإصدارات الأحدثتظهر المَعلمة
callback
على النحو التالي:(response: any) => void
-
رد
أي واحد
عنصر استجابة JSON الذي أرسله معالِج الرسالة إذا حدث خطأ أثناء الاتصال بالعلامة المحدّدة، يتمّ استدعاء دالة الاستدعاء بدون وسيطات ويتمّ ضبط
runtime.lastError
على رسالة الخطأ.
-
المرتجعات
-
Promise<any>
Chrome 99 والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
)
يُرجى استخدام runtime.sendMessage
.
تُرسِل هذه الوظيفة طلبًا واحدًا إلى نصوص المحتوى في علامة التبويب المحدّدة، مع إجراء استدعاء اختياري لتنفيذه عند إرسال ردّ. يتم تشغيل الحدث extension.onRequest
في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافات الحالية.
المعلمات
-
tabId
الرقم
-
طلب
أي واحد
-
ردّ الاتصال
الدالة اختيارية
Chrome 99 والإصدارات الأحدثتظهر المَعلمة
callback
على النحو التالي:(response: any) => void
-
رد
أي واحد
عنصر استجابة JSON الذي أرسله معالِج الطلب. إذا حدث خطأ أثناء الاتصال بالعلامة المحدّدة، يتمّ استدعاء دالة الاستدعاء بدون وسيطات ويتمّ ضبط
runtime.lastError
على رسالة الخطأ.
-
المرتجعات
-
Promise<any>
Chrome 99 والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
)
تكبير علامة تبويب محدّدة
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب المطلوب تكبيرها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
zoomFactor
الرقم
عامل التكبير أو التصغير الجديد تؤدي القيمة
0
إلى ضبط علامة التبويب على عامل التكبير التلقائي الحالي. تحدّد القيم الأكبر من0
عامل تكبير (قد لا يكون تلقائيًا) للعلامة. -
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
)
لضبط إعدادات التكبير/التصغير لعلامة تبويب محدّدة، والتي تحدّد كيفية التعامل مع تغييرات التكبير/التصغير تتم إعادة ضبط هذه الإعدادات على الإعدادات التلقائية عند الانتقال إلى علامة التبويب.
المعلمات
-
tabId
رقم اختياري
رقم تعريف علامة التبويب التي تريد تغيير إعدادات التكبير/التصغير لها، ويتم ضبطه تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
zoomSettings
يحدِّد كيفية التعامل مع تغييرات التكبير/التصغير ونطاقها.
-
ردّ الاتصال
الدالة اختيارية
تظهر المَعلمة
callback
على النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
ungroup()
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"
.
-
المرتجعات
-
Promise<Tab | undefined>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، ويجب أن تستخدم المنصات الأخرى طلبات الاستدعاء.
الفعاليات
onActivated
chrome.tabs.onActivated.addListener(
callback: function,
)
يتم تشغيله عند تغيير علامة التبويب النشطة في نافذة. يُرجى العِلم أنّه قد لا يتم ضبط عنوان URL للعلامة تبويب في وقت بدء هذا الحدث، ولكن يمكنك الاستماع إلى أحداث onUpdated للحصول على إشعار عند ضبط عنوان 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 لعلامة التبويب وعضويتها في مجموعة علامات التبويب في وقت بدء هذا الحدث، ولكن يمكنك الاستماع إلى أحداث onUpdated للحصول على إشعار عند ضبط عنوان 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
number[]
جميع علامات التبويب المميّزة في النافذة
-
windowId
الرقم
النافذة التي تغيّرت علامات التبويب فيها
-
-
onHighlighted
chrome.tabs.onHighlighted.addListener(
callback: function,
)
يتم تشغيله عند تغيير علامات التبويب المميّزة أو المحدّدة في نافذة.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(highlightInfo: object) => void
-
highlightInfo
عنصر
-
tabIds
number[]
جميع علامات التبويب المميّزة في النافذة
-
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
منطقي اختياري
Chrome 45 والإصدارات الأحدثالحالة الصوتية الجديدة لعلامة التبويب
-
autoDiscardable
منطقي اختياري
Chrome 54 والإصدارات الأحدثالحالة الجديدة لميزة "التخلص التلقائي" لعلامة التبويب
-
تم التجاهل
منطقي اختياري
Chrome 54 والإصدارات الأحدثالحالة الجديدة لعلامة التبويب التي تم تجاهلها
-
favIconUrl
سلسلة اختيارية
عنوان URL الجديد للرمز المفضّل لعلامة التبويب
-
معلّقة
منطقي اختياري
في انتظار المراجعةالحالة الجديدة لعلامة التبويب المُجمّدة
-
groupId
رقم اختياري
الإصدار 88 من Chrome والإصدارات الأحدثمجموعة علامات التبويب الجديدة.
-
mutedInfo
MutedInfo اختياري
Chrome 46 والإصدارات الأحدثحالة كتم الصوت الجديدة لعلامة التبويب وسبب التغيير
-
تم تثبيته
منطقي اختياري
الحالة الجديدة لعلامة التبويب المثبَّتة
-
status
TabStatus اختياري
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
Chrome 48 والإصدارات الأحدثعنوان علامة التبويب الجديد.
-
url
سلسلة اختيارية
عنوان URL للعلامة تبويب إذا تغيّر
-
-
tab
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
يتم تشغيله عند تكبير علامة تبويب.
المعلمات
-
ردّ الاتصال
دالة
تظهر المَعلمة
callback
على النحو التالي:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
عنصر
-
newZoomFactor
الرقم
-
oldZoomFactor
الرقم
-
tabId
الرقم
-
zoomSettings
-
-