في فبراير 2026، طرحنا في الإصدار 145 من Chrome ميزة "العرض المقسّم" المضمّنة التي تتيح للمستخدمين عرض علامات التبويب وإدارتها جنبًا إلى جنب في النافذة نفسها، ما يغني عن استخدام أدوات تابعة لجهات خارجية لإدارة نوافذ منفصلة لنظام التشغيل. على الرغم من أنّه يمكن للمستخدمين إضافة علامات تبويب وإزالتها يدويًا من العرض المقسّم من خلال عناصر تحكّم المتصفّح، لم يكن بإمكان المطوّرين التحكّم آليًا في تخطيطات علامات التبويب الجديدة هذه في إضافات Chrome.
يسرّنا الإعلان عن إطلاق واجهة برمجة التطبيقات الجديدة Split View API، والتي ستتوفّر بدءًا من الإصدار 155 من Chrome. تم تطوير واجهة برمجة التطبيقات الجديدة هذه بالتعاون الوثيق مع Mozilla ومورّدي متصفّحات آخرين في مجموعة WebExtensions Community Group، وهي تتيح للإضافات رصد طرق العرض المقسّمة المضمّنة وإنشائها وإدارتها.
عرض توضيحي
آلية العمل
في السابق، كانت الإضافات التي توفّر تجارب متجاورة تعتمد على حلول بديلة غير مستقرة، مثل تغيير حجم نوافذ متعددة، أو تضمين صفحات في عناصر <iframe>، أو استخدام اللوحات الجانبية. أما الآن، فتتكامل واجهة برمجة التطبيقات الجديدة لوضع تقسيم العرض مباشرةً مع واجهة برمجة التطبيقات الخاصة بعلامات التبويب في Chrome، ما يتيح إمكانات جديدة لإدارة تخطيط علامات التبويب.
أذونات ملف البيان
تشكّل واجهة برمجة التطبيقات Split View API جزءًا من مساحة الاسم browser.tabs، ولا تتطلّب أي أذونات لاستخدامها.
تحديد العروض المقسّمة
يحتوي كل عنصر Tab على
السمة splitViewId.
إذا كانت علامة التبويب جزءًا من عرض مقسّم، ستتم مشاركة معرّف فريد مع علامة التبويب المقترنة، وإلا سيتم ضبط قيمة splitViewId تلقائيًا على -1.
// Querying all split views in the current windows
const tabs = await browser.tabs.query({ currentWindow: true });
const splitViews = tabs.map(tab => tab.splitViewId).filter(splitViewId => splitViewId !== -1);
قيود عامة
لكي تتمكّن علامتا تبويب من الانضمام إلى طريقة عرض مقسّمة، يجب أن تستوفيا المتطلبات التالية:
- يجب أن تكون علامات التبويب متجاورة (أو يتم إنشاؤها بشكل متجاور).
- يجب ألا تكون علامات التبويب معروضة في وضع "تقسيم العرض".
- يجب أن تتضمّن علامات التبويب الحالة نفسها في
pinnedوwindowIdوgroupId.
في المقابل، عند إلغاء تقسيم علامتي تبويب، ستحتفظان بحالتي pinned وwindowId وgroupId بالإضافة إلى الموضع النسبي لكل منهما.
إنشاء طرق عرض مقسَّمة
هناك طريقتان يمكن من خلالهما أن ينشئ أحد الإضافات تقسيم العرض جديدًا:
- أنشئ علامة تبويب جديدة سيتم تقسيمها مع علامة تبويب حالية باستخدام المَعلمة الجديدة
splitWithTabIdفيbrowser.tabs.create. - يمكنك إقران علامتَي تبويب حاليتَين باستخدام طريقة
browser.tabs.createSplitالجديدة.
أمثلة
يمكنك إنشاء علامة تبويب جديدة باستخدام splitWithTabId لتقسيمها مع علامة تبويب حالية.
await browser.tabs.create({splitWithTabId: existingTab.id});
سيتم تلقائيًا إنشاء علامة التبويب الجديدة على يسار علامة التبويب الحالية.
لإنشاء علامة تبويب جديدة على يمين علامة التبويب الحالية، اضبط الفهرس على فهرس علامة التبويب هذه:
await browser.tabs.create({splitWithTabId: existingTab.id, index: existingTab.index});
يمكنك أيضًا إنشاء طريقة عرض جديدة مقسّمة من خلال ربط علامتَي تبويب حاليتَين.
await browser.tabs.createSplit([existingTab1.id, existingTab2.id]);
إلغاء تقسيم العرض
لفصل عرض مقسّم إلى علامتي تبويب مستقلتَين، يمكن لأحد الإضافات استخدام طريقة browser.tabs.unsplit الجديدة.
const splitViewId = browser.tabs.createSplit([tab1.id, tab2.id]);
// Unsplitting the split view into two independent tabs
await browser.tabs.unsplit(splitViewId);
مزيد من المعلومات
نأمل أن تساهم هذه الميزة الجديدة في تعزيز سير العمل الأكثر إنتاجية لإضافاتك. لبدء إنشاء إضافات تتضمّن ميزات العرض المقسّم، يمكنك الاطّلاع على مستندات Tabs API. إذا كانت لديك أي أسئلة أو كنت بحاجة إلى مساعدة بشأن Split View API، يُرجى الانتقال إلى مجموعة إضافات Chromium على Google.
نتمنى لك تجربة تقسيم ممتعة.