الوصف
استخدِم واجهة برمجة التطبيقات 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
سلسلة اختيارية
معرّف الإضافة التي غيّرت حالة كتم الصوت لا يتم ضبط هذه السمة إذا لم تكن الإضافة هي السبب في آخر تغيير للحالة الصامتة.
-
تم كتم الصوت
قيمة منطقية
تُستخدَم لتحديد ما إذا كانت علامة التبويب مكتومة (أي لا يمكنها تشغيل الصوت). قد يتم كتم صوت علامة التبويب حتى إذا لم يتم تشغيل الصوت أو إذا لم يكن يتم تشغيله حاليًا. هذا الحقل مكافئ لما إذا كان مؤشر الصوت "مكتوم" معروضًا.
-
السبب
MutedInfoReason اختيارية
سبب كتم صوت علامة التبويب أو إلغاء كتمه لا يتم ضبط هذه السمة إذا لم يتم تغيير حالة تجاهل علامة التبويب أبدًا.
MutedInfoReason
حدث أدّى إلى تغيير الحالة إلى "تم كتم الصوت".
تعداد
"المستخدم"
أدت بيانات أدخلها المستخدم إلى ضبط حالة كتم الصوت.
"capture"
بدأ تسجيل علامة التبويب، ما أدّى إلى فرض تغيير في حالة كتم الصوت.
"extension"
إضافة، يتم تحديدها من خلال حقل extensionId، ضبطت حالة كتم الصوت.
Tab
الخصائص
-
نشطة
قيمة منطقية
تحدّد هذه السمة ما إذا كانت علامة التبويب نشطة في نافذتها. لا يعني ذلك بالضرورة أنّ النافذة في المقدّمة.
-
تطبيق audible
boolean اختياري
Chrome 45+تُستخدَم لتحديد ما إذا كانت علامة التبويب قد أصدرت صوتًا خلال الثواني القليلة الماضية (ولكن قد لا يُسمع الصوت إذا تم كتمه أيضًا). يساوي ما إذا كان مؤشر "الصوت من مكبّر الصوت" معروضًا.
-
autoDiscardable
قيمة منطقية
Chrome 54 والإصدارات الأحدثتحديد ما إذا كان بإمكان المتصفّح تجاهل علامة التبويب تلقائيًا عندما تكون الموارد منخفضة
-
تم التجاهل
قيمة منطقية
Chrome 54 والإصدارات الأحدثتُستخدَم لتحديد ما إذا تم تجاهل علامة التبويب. علامة التبويب التي تم تجاهلها هي علامة تبويب تم إلغاء تحميل محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. ويتم إعادة تحميل محتواه في المرة التالية التي يتم فيها تفعيله.
-
favIconUrl
سلسلة اختيارية
تمثّل هذه السمة عنوان URL الخاص بالرمز المفضّل لعلامة التبويب. لا تظهر هذه السمة إلا إذا كانت الإضافة تتضمّن الإذن
"tabs"أو أذونات المضيف للصفحة. وقد تكون أيضًا سلسلة فارغة إذا كانت علامة التبويب قيد التحميل. -
لا يستجيب
قيمة منطقية
Chrome 132 والإصدارات الأحدثتُستخدَم لتحديد ما إذا كانت علامة التبويب معطَّلة. لا يمكن لعلامة التبويب المجمَّدة تنفيذ المهام، بما في ذلك معالِجات الأحداث أو الموقّتات. تظهر في شريط علامات التبويب ويتم تحميل محتواها في الذاكرة. ويتم إلغاء تجميده عند التفعيل.
-
groupId
الرقم
الإصدار 88 من Chrome والإصدارات الأحدثتمثّل معرّف المجموعة التي تنتمي إليها علامة التبويب.
-
الارتفاع
number اختياري
تمثّل هذه السمة ارتفاع علامة التبويب بالبكسل.
-
بارزة
قيمة منطقية
تُستخدَم لتحديد ما إذا كان يجب تمييز علامة التبويب.
-
id
number اختياري
معرّف علامة التبويب تكون أرقام تعريف علامات التبويب فريدة ضمن جلسة المتصفّح. في بعض الحالات، قد لا يتمّ تخصيص رقم تعريف لعلامة تبويب، مثلاً عند طلب البحث عن علامات تبويب خارجية باستخدام واجهة برمجة التطبيقات
sessions، وفي هذه الحالة قد يتوفّر رقم تعريف جلسة. يمكن أيضًا ضبط معرّف علامة التبويب علىchrome.tabs.TAB_ID_NONEلتطبيقات ونوافذ أدوات المطوّرين. -
incognito
قيمة منطقية
تُستخدَم لتحديد ما إذا كانت علامة التبويب في نافذة تصفّح متخفّي.
-
الفهرس
الرقم
الفهرس المبدوء من الصفر لعلامة التبويب ضمن نافذتها
-
lastAccessed
الرقم
الإصدار 121 من Chrome والإصدارات الأحدثآخر مرة أصبحت فيها علامة التبويب نشطة في نافذتها، ويتم التعبير عنها بعدد المللي ثانية منذ بدء الحقبة.
-
mutedInfo
MutedInfo اختياري
Chrome 46 والإصدارات الأحدثحالة كتم صوت علامة التبويب وسبب آخر تغيير في الحالة
-
openerTabId
number اختياري
تمثّل هذه السمة معرّف علامة التبويب التي فتحت علامة التبويب الحالية، إن وُجد. لا تتوفّر هذه السمة إلا إذا كانت علامة التبويب التي فتحت النافذة لا تزال متاحة.
-
pendingUrl
سلسلة اختيارية
الإصدار 79 من Chrome والإصدارات الأحدثعنوان URL الذي تنتقل إليه علامة التبويب قبل أن يتم تثبيته. لا تتوفّر هذه السمة إلا إذا كانت الإضافة لديها إذن
"tabs"أو أذونات مضيف للصفحة وكان هناك عملية تنقّل معلّقة. -
تم تثبيته
قيمة منطقية
تُستخدَم لتحديد ما إذا كانت علامة التبويب مثبّتة أم لا.
-
تم الاختيار
قيمة منطقية
تمّت إزالة هذا العموديُرجى استخدام
tabs.Tab.highlighted.تُستخدَم لتحديد ما إذا كانت علامة التبويب محددة.
-
sessionId
سلسلة اختيارية
معرّف الجلسة المستخدَم لتحديد علامة تبويب تم الحصول عليها من واجهة برمجة التطبيقات
sessionsبشكل فريد. -
splitViewId
number اختياري
Chrome 140+معرّف "تقسيم العرض" الذي تنتمي إليه علامة التبويب
-
status
TabStatus اختياري
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
تمثّل هذه السمة عنوان علامة التبويب. لا تظهر هذه السمة إلا إذا كانت الإضافة تتضمّن الإذن
"tabs"أو أذونات المضيف للصفحة. -
url
سلسلة اختيارية
آخر عنوان URL تم إرساله للإطار الرئيسي لعلامة التبويب. لا تظهر هذه السمة إلا إذا كانت الإضافة تتضمّن الإذن
"tabs"أو أذونات المضيف للصفحة. قد تكون سلسلة فارغة إذا لم يتم تثبيت علامة التبويب بعد. يمكنك الاطّلاع أيضًا علىTab.pendingUrl. -
العرض
number اختياري
عرض علامة التبويب بالبكسل
-
windowId
الرقم
رقم تعريف النافذة التي تحتوي على علامة التبويب
TabStatus
حالة تحميل علامة التبويب
تعداد
"unloaded"
"loading"
"مكتملة"
WindowType
تمثّل هذه السمة نوع النافذة.
تعداد
"normal"
"popup"
"panel"
"app"
"devtools"
ZoomSettings
تحدّد هذه السمة كيفية التعامل مع تغييرات التكبير/التصغير في علامة تبويب ونطاقها.
الخصائص
-
defaultZoomFactor
number اختياري
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
SPLIT_VIEW_ID_NONE
معرّف يمثّل عدم توفّر علامة تبويب مقسّمة
القيمة
-1
TAB_ID_NONE
معرّف يشير إلى عدم توفّر علامة تبويب متصفّح.
القيمة
-1
TAB_INDEX_NONE
فهرس يمثّل عدم توفّر فهرس علامة تبويب في tab_strip.
القيمة
-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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(dataUrl: string) => void
-
dataUrl
سلسلة
عنوان URL للبيانات يشفّر صورة للمنطقة المرئية من علامة التبويب التي تم التقاطها يمكن تعيينها إلى السمة "src" لعنصر HTML
imgلعرضها.
-
المرتجعات
-
Promise<string>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
connect()
chrome.tabs.connect(
tabId: number,
connectInfo?: object,
): runtime.Port
يربط هذا الخيار بنصوص البرامج الخاصة بالمحتوى في علامة التبويب المحدّدة. يتم تشغيل حدث runtime.onConnect في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافة الحالية. لمزيد من التفاصيل، يُرجى الاطّلاع على مراسلة البرامج النصية للمحتوى.
المعلمات
-
tabId
الرقم
-
connectInfo
كائن اختياري
-
documentId
سلسلة اختيارية
الإصدار 106 من Chrome والإصدارات الأحدثفتح منفذ لمستند محدّد يتم تحديده بواسطة
documentIdبدلاً من جميع الإطارات في علامة التبويب -
frameId
number اختياري
فتح منفذ إلى إطار معيّن يتم تحديده بواسطة
frameIdبدلاً من جميع الإطارات في علامة التبويب -
الاسم
سلسلة اختيارية
يتم تمريرها إلى onConnect لبرامج النصوص الخاصة بالمحتوى التي تستمع إلى حدث الاتصال.
-
المرتجعات
-
منفذ يمكن استخدامه للتواصل مع البرامج النصية للمحتوى التي يتم تشغيلها في علامة التبويب المحدّدة يتم تنشيط حدث
runtime.Portللمنفذ إذا تم إغلاق علامة التبويب أو لم تكن متوفّرة.
create()
chrome.tabs.create(
createProperties: object,
callback?: function,
): Promise<Tab>
لإنشاء علامة تبويب جديدة
المعلمات
-
createProperties
عنصر
-
نشطة
boolean اختياري
تحديد ما إذا كان يجب أن تصبح علامة التبويب هي علامة التبويب النشطة في النافذة لا يؤثّر في ما إذا كانت النافذة مركّزة (راجِع
windows.update). القيمة التلقائية هيtrue. -
الفهرس
number اختياري
الموضع الذي يجب أن تحتله علامة التبويب في النافذة يتم حصر القيمة المقدَّمة بين صفر وعدد علامات التبويب في النافذة.
-
openerTabId
number اختياري
تمثّل هذه السمة رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه. في حال تحديدها، يجب أن تكون علامة تبويب الفتح في النافذة نفسها التي تم إنشاء علامة التبويب الجديدة فيها.
-
تم تثبيته
boolean اختياري
تحدّد هذه السمة ما إذا كان يجب تثبيت علامة التبويب. القيمة التلقائية هي
false -
تم الاختيار
boolean اختياري
تمّت إزالة هذا العموديُرجى استخدام نشِط.
تحديد ما إذا كان يجب أن تصبح علامة التبويب هي علامة التبويب المحدّدة في النافذة القيمة التلقائية هي
true -
splitWithTabId
number اختياري
الإصدار 155 من Chrome والإصدارات الأحدثمعرّف علامة تبويب حالية لإنشاء عرض مقسَّم معها في حال تحديد علامة التبويب "تقسيم الفاتورة"، يجب أن تستوفي الشروط التالية:
- يجب ألا تكون علامة تبويب مقسّمة من قبل.
- يجب أن يكون في النافذة نفسها التي تتضمّن علامة التبويب التي تم إنشاؤها حديثًا.
- إذا تم تحديد
windowId، يجب أن يكون هو نفسه معرّف نافذة التقسيم باستخدام علامة التبويب. - في حال تحديد
index، يجب أن يكون فهرسًا مجاورًا لعلامة التبويب التي تم تقسيمها وسيؤثر في ضبط الموضع نسبيًا لعلامة التبويب التي تم إنشاؤها حديثًا.
-
url
سلسلة اختيارية
تمثّل هذه السمة عنوان URL الذي سيتم الانتقال إلى علامة التبويب من خلاله في البداية. يجب أن تتضمّن عناوين URL المؤهّلة بالكامل مخططًا (أي http://www.google.com وليس www.google.com). تكون عناوين URL النسبية مرتبطة بالصفحة الحالية داخل الإضافة. يتم ضبط هذه السياسة تلقائيًا على صفحة "علامة تبويب جديدة".
-
windowId
number اختياري
النافذة التي سيتم إنشاء علامة التبويب الجديدة فيها القيمة التلقائية هي النافذة الحالية.
-
-
callback
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(splitViewId: number) => void
-
splitViewId
الرقم
معرّف "تقسيم العرض" الذي تم إنشاؤه حديثًا والذي يحتوي على علامات التبويب المحدّدة
-
المرتجعات
-
Promise<number>
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
detectLanguage()
chrome.tabs.detectLanguage(
tabId?: number,
callback?: function,
): Promise<string>
تتعرّف هذه السمة على اللغة الأساسية للمحتوى في علامة تبويب.
المعلمات
-
tabId
number اختياري
يتم ضبطها تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(language: string) => void
-
language
سلسلة
رمز لغة ISO، مثل
enأوfrللاطّلاع على قائمة كاملة باللغات التي تتوافق مع هذه الطريقة، راجِع kLanguageInfoTable. يتم التحقّق من الأعمدة من الثاني إلى الرابع ويتم عرض أول قيمة غير NULL، باستثناء اللغة الصينية المبسّطة التي يتم عرضzh-CNلها. بالنسبة إلى لغة غير معروفة أو غير محدّدة، يتم عرضund.
-
المرتجعات
-
Promise<string>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
discard()
chrome.tabs.discard(
tabId?: number,
callback?: function,
): Promise<Tab | undefined>
تتجاهل علامة تبويب من الذاكرة. تظل علامات التبويب التي تم تجاهلها مرئية في شريط علامات التبويب، وتتم إعادة تحميلها عند تنشيطها.
المعلمات
-
tabId
number اختياري
معرّف علامة التبويب المطلوب تجاهلها في حال تحديدها، يتم تجاهل علامة التبويب ما لم تكن نشطة أو تم تجاهلها من قبل. في حال عدم توفّرها، يتجاهل المتصفّح علامة التبويب الأقل أهمية. قد يتعذّر ذلك في حال عدم توفّر أي علامات تبويب يمكن تجاهلها.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(tab?: Tab) => void
-
:
علامة التبويب اختيارية
علامة التبويب التي تم تجاهلها، إذا تم تجاهلها بنجاح، أو قيمة غير محدّدة في حال عدم تجاهلها
-
المرتجعات
-
Promise<Tab | undefined>
الإصدار 88 من Chrome والإصدارات الأحدثيتم حلّها بعد اكتمال العملية.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
duplicate()
chrome.tabs.duplicate(
tabId: number,
callback?: function,
): Promise<Tab | undefined>
تكرار علامة تبويب
المعلمات
-
tabId
الرقم
معرّف علامة التبويب المطلوب تكرارها
-
callback
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(tabs: Tab[]) => void
-
علامات التبويب
-
المرتجعات
-
Promise<Tab[]>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
getCurrent()
chrome.tabs.getCurrent(
callback?: function,
): Promise<Tab | undefined>
تعرض علامة التبويب التي يتم إجراء طلب البرنامج النصي هذا منها. تعرض القيمة undefined إذا تم استدعاؤها من سياق غير علامة تبويب (على سبيل المثال، صفحة في الخلفية أو عرض نافذة منبثقة).
المعلمات
-
callback
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(tab: Tab) => void
المرتجعات
-
Promise<Tab>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
getZoom()
chrome.tabs.getZoom(
tabId?: number,
callback?: function,
): Promise<number>
تعرض هذه الطريقة عامل التكبير الحالي لعلامة تبويب محدّدة.
المعلمات
-
tabId
number اختياري
رقم تعريف علامة التبويب التي سيتم الحصول على عامل التكبير الحالي منها، ويتم ضبط القيمة التلقائية على علامة التبويب النشطة في النافذة الحالية.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(zoomFactor: number) => void
-
zoomFactor
الرقم
عامل التكبير أو التصغير الحالي لعلامة التبويب
-
المرتجعات
-
Promise<number>
الإصدار 88 من Chrome والإصدارات الأحدثيتم حلّ المشكلة باستخدام عامل التكبير/التصغير الحالي لعلامة التبويب بعد استرجاعه.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
getZoomSettings()
chrome.tabs.getZoomSettings(
tabId?: number,
callback?: function,
): Promise<ZoomSettings>
تعرض هذه الطريقة إعدادات التكبير الحالية لعلامة تبويب محدّدة.
المعلمات
-
tabId
number اختياري
رقم تعريف علامة التبويب التي سيتم الحصول على إعدادات التكبير/التصغير الحالية منها. القيمة التلقائية هي علامة التبويب النشطة في النافذة الحالية.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(zoomSettings: ZoomSettings) => void
-
zoomSettings
إعدادات التكبير الحالية لعلامة التبويب
-
المرتجعات
-
Promise<ZoomSettings>
الإصدار 88 من Chrome والإصدارات الأحدثيتم حلّ المشكلة باستخدام إعدادات التكبير/التصغير الحالية لعلامة التبويب.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
goBack()
chrome.tabs.goBack(
tabId?: number,
callback?: function,
): Promise<void>
الرجوع إلى الصفحة السابقة، إذا كانت متوفّرة
المعلمات
-
tabId
number اختياري
معرّف علامة التبويب التي سيتم الانتقال إلى الخلف فيها، ويتم ضبط القيمة التلقائية على علامة التبويب المحدّدة في النافذة الحالية.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
goForward()
chrome.tabs.goForward(
tabId?: number,
callback?: function,
): Promise<void>
الانتقال إلى الصفحة التالية، إذا كانت متاحة
المعلمات
-
tabId
number اختياري
معرّف علامة التبويب التي سيتم الانتقال إلى الأمام فيها، ويتم ضبط القيمة التلقائية على علامة التبويب المحدّدة في النافذة الحالية.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
group()
chrome.tabs.group(
options: object,
callback?: function,
): Promise<number>
تضيف هذه الطريقة علامة تبويب واحدة أو أكثر إلى مجموعة محدّدة، أو إذا لم يتم تحديد أي مجموعة، تضيف علامات التبويب المحدّدة إلى مجموعة تم إنشاؤها حديثًا.
المعلمات
-
الخيارات
عنصر
-
createProperties
كائن اختياري
إعدادات إنشاء مجموعة لا يمكن استخدامها إذا تم تحديد groupId من قبل.
-
windowId
number اختياري
نافذة المجموعة الجديدة القيمة التلقائية هي النافذة الحالية.
-
-
groupId
number اختياري
رقم تعريف المجموعة التي ستتم إضافة علامات التبويب إليها. في حال عدم تحديدها، سيتم إنشاء مجموعة جديدة.
-
tabIds
number | [number, ...number[]]
معرّف علامة التبويب أو قائمة بمعرّفات علامات التبويب التي سيتم إضافتها إلى المجموعة المحدّدة
-
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(groupId: number) => void
-
groupId
الرقم
رقم تعريف المجموعة التي تمت إضافة علامات التبويب إليها
-
المرتجعات
-
Promise<number>
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
highlight()
chrome.tabs.highlight(
highlightInfo: object,
callback?: function,
): Promise<windows.Window>
يُبرز علامات التبويب المحدّدة ويركّز على أول علامة تبويب في المجموعة. لن يظهر أي إجراء إذا كانت علامة التبويب المحدّدة نشطة حاليًا.
المعلمات
-
highlightInfo
عنصر
-
علامات التبويب
number | number[]
تمثّل هذه السمة فهرس علامة تبويب واحدًا أو أكثر يجب تمييزه.
-
windowId
number اختياري
النافذة التي تحتوي على علامات التبويب
-
-
callback
الدالة اختيارية
تظهر المَعلمة
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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:(tabs: Tab | Tab[]) => void
-
علامات التبويب
علامة تبويب | Tab[]
تفاصيل حول علامات التبويب التي تم نقلها
-
المرتجعات
-
الإصدار 88 من Chrome والإصدارات الأحدث
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
query()
chrome.tabs.query(
queryInfo: object,
callback?: function,
): Promise<Tab[]>
تعرض هذه الطريقة جميع علامات التبويب التي تتضمّن الخصائص المحدّدة، أو جميع علامات التبويب إذا لم يتم تحديد أي خصائص.
المعلمات
-
queryInfo
عنصر
-
نشطة
boolean اختياري
تحدّد هذه السمة ما إذا كانت علامات التبويب نشطة في نوافذها.
-
تطبيق audible
boolean اختياري
Chrome 45+تُستخدَم لتحديد ما إذا كانت علامات التبويب مسموعة.
-
autoDiscardable
boolean اختياري
Chrome 54 والإصدارات الأحدثتحديد ما إذا كان بإمكان المتصفّح تجاهل علامات التبويب تلقائيًا عندما تكون الموارد منخفضة
-
currentWindow
boolean اختياري
تحدّد هذه السمة ما إذا كانت علامات التبويب في النافذة الحالية.
-
تم التجاهل
boolean اختياري
Chrome 54 والإصدارات الأحدثما إذا كان سيتم تجاهل علامات التبويب علامة التبويب التي تم تجاهلها هي علامة تبويب تم إلغاء تحميل محتواها من الذاكرة، ولكنها لا تزال مرئية في شريط علامات التبويب. ويتم إعادة تحميل محتواه في المرة التالية التي يتم فيها تفعيله.
-
لا يستجيب
boolean اختياري
Chrome 132 والإصدارات الأحدثتُستخدَم لتحديد ما إذا كانت علامات التبويب مجمّدة. لا يمكن لعلامة التبويب المجمَّدة تنفيذ المهام، بما في ذلك معالِجات الأحداث أو الموقّتات. تظهر في شريط علامات التبويب ويتم تحميل محتواها في الذاكرة. ويتم إلغاء تجميده عند التفعيل.
-
groupId
number اختياري
الإصدار 88 من Chrome والإصدارات الأحدثرقم تعريف المجموعة التي تتضمّن علامات التبويب، أو
tabGroups.TAB_GROUP_ID_NONEلعلامات التبويب غير المُجمَّعة -
بارزة
boolean اختياري
تحديد ما إذا كان سيتم تمييز علامات التبويب
-
الفهرس
number اختياري
موضع علامات التبويب داخل النوافذ
-
lastFocusedWindow
boolean اختياري
تحديد ما إذا كانت علامات التبويب في النافذة التي تم التركيز عليها آخر مرة
-
تم كتم الصوت
boolean اختياري
Chrome 45+تُستخدَم لتحديد ما إذا كان صوت علامات التبويب مكتومًا.
-
تم تثبيته
boolean اختياري
تُستخدَم لتحديد ما إذا كانت علامات التبويب مثبّتة.
-
splitViewId
number اختياري
Chrome 140+معرّف "تقسيم العرض" الذي توجد فيه علامات التبويب، أو
tabs.SPLIT_VIEW_ID_NONEلعلامات التبويب التي لا تظهر في وضع "تقسيم العرض". -
status
TabStatus اختياري
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
مطابقة عناوين الصفحات مع نمط معيّن يتم تجاهل هذه السمة إذا لم يكن لدى الإضافة إذن
"tabs"أو أذونات المضيف للصفحة. -
url
string | string[] اختياري
مطابقة علامات التبويب مع أنماط عناوين URL واحدة أو أكثر لا تتم مطابقة معرّفات الأجزاء. يتم تجاهل هذه السمة إذا لم يكن لدى الإضافة إذن
"tabs"أو أذونات المضيف للصفحة. -
windowId
number اختياري
رقم تعريف النافذة الرئيسية أو
windows.WINDOW_ID_CURRENTللنافذة الحالية -
windowType
WindowType اختيارية
تمثّل هذه السمة نوع النافذة التي تظهر فيها علامات التبويب.
-
-
callback
الدالة اختيارية
تظهر المَعلمة
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
كائن اختياري
-
bypassCache
boolean اختياري
تُستخدَم لتحديد ما إذا كان سيتم تجاوز التخزين المؤقت المحلي. القيمة التلقائية هي
false.
-
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
remove()
chrome.tabs.remove(
tabIds: number | number[],
callback?: function,
): Promise<void>
يُغلِق علامة تبويب واحدة أو أكثر.
المعلمات
-
tabIds
number | number[]
تمثّل هذه السمة رقم تعريف علامة التبويب أو قائمة أرقام تعريف علامات التبويب المطلوب إغلاقها.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<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
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثيتم حلّها عند إزالة جميع ملفات CSS.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
sendMessage()
chrome.tabs.sendMessage(
tabId: number,
message: any,
options?: object,
callback?: function,
): Promise<any>
يرسل رسالة واحدة إلى نصوص البرامج الخاصة بالمحتوى في علامة التبويب المحدّدة. يتم تشغيل حدث runtime.onMessage في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافة الحالية.
المعلمات
-
tabId
الرقم
-
رسالة
أي واحد
الرسالة المطلوب إرسالها يجب أن تكون هذه الرسالة عنصرًا قابلاً للتحويل إلى JSON.
-
الخيارات
كائن اختياري
-
callback
الدالة اختيارية
الإصدار 99 من Chrome والإصدارات الأحدثتظهر المَعلمة
callbackعلى النحو التالي:(response: any) => void
-
رد
أي واحد
كائن استجابة JSON الذي أرسله معالج الرسالة.
-
المرتجعات
-
Promise<any>
الإصدار 99 من Chrome والإصدارات الأحدثوعد يتم تنفيذه مع الردّ من النص البرمجي للمحتوى إذا حدث خطأ أثناء الاتصال بعلامة التبويب المحدّدة، سيتم رفض الوعد.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
sendRequest()
chrome.tabs.sendRequest(
tabId: number,
request: any,
callback?: function,
): Promise<any>
يُرجى استخدام runtime.sendMessage.
يرسل طلبًا واحدًا إلى نصوص البرامج الخاصة بالمحتوى في علامة التبويب المحدّدة، مع دالة ردّ اختيارية يتم تنفيذها عند إرسال ردّ. يتم تشغيل حدث extension.onRequest في كل نص برمجي للمحتوى يتم تشغيله في علامة التبويب المحدّدة للإضافة الحالية.
المعلمات
-
tabId
الرقم
-
طلب
أي واحد
-
callback
الدالة اختيارية
الإصدار 99 من Chrome والإصدارات الأحدثتظهر المَعلمة
callbackعلى النحو التالي:(response: any) => void
-
رد
أي واحد
كائن استجابة JSON الذي أرسله معالج الطلب. إذا حدث خطأ أثناء الاتصال بعلامة التبويب المحدّدة، سيتم رفض الوعد.
-
المرتجعات
-
Promise<any>
الإصدار 99 من Chrome والإصدارات الأحدثلا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
setZoom()
chrome.tabs.setZoom(
tabId?: number,
zoomFactor: number,
callback?: function,
): Promise<void>
تكبّر علامة تبويب محدّدة.
المعلمات
-
tabId
number اختياري
رقم تعريف علامة التبويب التي سيتم تكبيرها، ويتم ضبطها تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
zoomFactor
الرقم
عامل التكبير أو التصغير الجديد تؤدي القيمة
0إلى ضبط علامة التبويب على عامل التكبير/التصغير التلقائي الحالي. تشير القيم الأكبر من0إلى عامل تكبير (ربما غير تلقائي) للعلامة. -
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثيتم حلّها بعد تغيير عامل التكبير/التصغير.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
setZoomSettings()
chrome.tabs.setZoomSettings(
tabId?: number,
zoomSettings: ZoomSettings,
callback?: function,
): Promise<void>
تضبط هذه السياسة إعدادات التكبير/التصغير لعلامة تبويب محدّدة، وتحدّد كيفية التعامل مع تغييرات التكبير/التصغير. تتم إعادة ضبط هذه الإعدادات على الإعدادات التلقائية عند الانتقال إلى علامة التبويب.
المعلمات
-
tabId
number اختياري
معرّف علامة التبويب التي سيتم تغيير إعدادات التكبير/التصغير لها، ويتم ضبطها تلقائيًا على علامة التبويب النشطة في النافذة الحالية.
-
zoomSettings
تحدّد هذه السمة كيفية التعامل مع تغييرات التكبير/التصغير ونطاقها.
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
الإصدار 88 من Chrome والإصدارات الأحدثيتم حلّها بعد تغيير إعدادات التكبير/التصغير.
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
ungroup()
chrome.tabs.ungroup(
tabIds: number | [number, ...number[]],
callback?: function,
): Promise<void>
تزيل علامة تبويب واحدة أو أكثر من مجموعاتها. إذا أصبحت أي مجموعات فارغة، يتم حذفها.
المعلمات
-
tabIds
number | [number, ...number[]]
معرّف علامة التبويب أو قائمة بمعرّفات علامات التبويب المطلوب إزالتها من مجموعاتها
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
unsplit()
chrome.tabs.unsplit(
splitViewId: number,
callback?: function,
): Promise<void>
يفصل علامات التبويب في "تقسيم العرض" إلى علامات تبويب مستقلة.
المعلمات
-
splitViewId
الرقم
معرّف "تقسيم العرض" المطلوب فصله
-
callback
الدالة اختيارية
تظهر المَعلمة
callbackعلى النحو التالي:() => void
المرتجعات
-
Promise<void>
لا تتوفّر الوعود إلا في الإصدار Manifest V3 والإصدارات الأحدث، بينما تحتاج المنصات الأخرى إلى استخدام عمليات معاودة الاتصال.
update()
chrome.tabs.update(
tabId?: number,
updateProperties: object,
callback?: function,
): Promise<Tab | undefined>
تعدّل هذه الطريقة خصائص علامة تبويب. لا يتم تعديل السمات غير المحدّدة في updateProperties.
المعلمات
-
tabId
number اختياري
يتم ضبط هذه السمة تلقائيًا على علامة التبويب المحدّدة في النافذة الحالية.
-
updateProperties
عنصر
-
نشطة
boolean اختياري
تحديد ما إذا كان يجب أن تكون علامة التبويب نشطة. لا يؤثّر هذا الخيار في ما إذا كانت النافذة مركّزة (راجِع
windows.update). -
autoDiscardable
boolean اختياري
Chrome 54 والإصدارات الأحدثتحديد ما إذا كان المتصفّح سيتجاهل علامة التبويب تلقائيًا عندما تكون الموارد منخفضة
-
بارزة
boolean اختياري
تضيف علامة التبويب أو تزيلها من الجزء المحدّد حاليًا.
-
تم كتم الصوت
boolean اختياري
Chrome 45+لتحديد ما إذا كان يجب كتم علامة التبويب.
-
openerTabId
number اختياري
تمثّل هذه السمة رقم تعريف علامة التبويب التي فتحت علامة التبويب هذه. في حال تحديدها، يجب أن تكون علامة التبويب التي فتحت هذه العلامة في النافذة نفسها.
-
تم تثبيته
boolean اختياري
تحدّد هذه السمة ما إذا كان يجب تثبيت علامة التبويب.
-
تم الاختيار
boolean اختياري
تمّت إزالة هذا العموديُرجى استخدام النص المميّز.
تُستخدَم لتحديد ما إذا كان يجب اختيار علامة التبويب.
-
url
سلسلة اختيارية
عنوان URL للانتقال إلى علامة التبويب لا تتوافق عناوين URL الخاصة بلغة JavaScript، لذا استخدِم
scripting.executeScriptبدلاً من ذلك.
-
-
callback
الدالة اختيارية
تظهر المَعلمة
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
boolean اختياري
Chrome 45+الحالة الجديدة المسموعة لعلامة التبويب
-
autoDiscardable
boolean اختياري
Chrome 54 والإصدارات الأحدثتمثّل هذه السمة حالة علامة التبويب الجديدة التي يمكن تجاهلها تلقائيًا.
-
تم التجاهل
boolean اختياري
Chrome 54 والإصدارات الأحدثالحالة الجديدة التي تم تجاهل علامة التبويب فيها.
-
favIconUrl
سلسلة اختيارية
تمثّل هذه السمة عنوان URL الجديد الخاص بالرمز المفضّل لعلامة التبويب.
-
لا يستجيب
boolean اختياري
Chrome 132 والإصدارات الأحدثحالة التجميد الجديدة لعلامة التبويب
-
groupId
number اختياري
الإصدار 88 من Chrome والإصدارات الأحدثمجموعة علامات التبويب الجديدة
-
mutedInfo
MutedInfo اختياري
Chrome 46 والإصدارات الأحدثالحالة الجديدة لعلامة التبويب (تم كتم الصوت أو لا) وسبب التغيير
-
تم تثبيته
boolean اختياري
حالة التثبيت الجديدة لعلامة التبويب.
-
splitViewId
number اختياري
Chrome 140+علامة التبويب الجديدة في وضع "تقسيم العرض"
-
status
TabStatus اختياري
حالة تحميل علامة التبويب
-
title
سلسلة اختيارية
الإصدار 48 من Chrome والإصدارات الأحدثتمثّل هذه السمة العنوان الجديد لعلامة التبويب.
-
url
سلسلة اختيارية
عنوان URL للعلامة إذا تم تغييره
-
-
onZoomChange
chrome.tabs.onZoomChange.addListener(
callback: function,
)
يتم تنشيط هذا الحدث عند تكبير علامة تبويب.
المعلمات
-
callback
دالة
تظهر المَعلمة
callbackعلى النحو التالي:(ZoomChangeInfo: object) => void
-
ZoomChangeInfo
عنصر
-
newZoomFactor
الرقم
-
oldZoomFactor
الرقم
-
tabId
الرقم
-
zoomSettings
-
-