Yeni Sekmeleri Bölünmüş Görünüm API'si ile çoklu görev uzantılarını geliştirme

Anh Mac
Anh Mac

Bu yılın başlarında, Şubat 2026'da Chrome 145, kullanıcıların sekmeleri aynı pencerede yan yana görüntüleyip yönetebilmesini sağlayan yerel bölünmüş görünüm özelliğini kullanıma sundu. Bu özellik, ayrı işletim sistemi pencerelerini yönetmek için üçüncü taraf araçlara güvenme ihtiyacını ortadan kaldırıyor. Kullanıcılar, tarayıcı kontrolleri aracılığıyla bölünmüş görünümden sekmeleri manuel olarak ekleyip kaldırabilirken geliştiricilerin Chrome uzantılarında bu yeni sekme düzenlerini programatik olarak kontrol etmesi mümkün değildi.

Chrome'da bölünmüş görünüm.
Chrome'daki bölünmüş görünüm, kullanıcıların sekmeleri yan yana yönetmesine olanak tanır.

Chrome 155'ten itibaren kullanıma sunulacak yeni Bölünmüş Görünüm API'sini duyurmaktan heyecan duyuyoruz. WebExtensions Community Group'taki Mozilla ve diğer tarayıcı satıcılarıyla yakın işbirliği içinde geliştirilen bu yeni API, uzantıların yerleşik bölünmüş görünümleri algılamasına, oluşturmasına ve yönetmesine olanak tanır.

Demo

İşleyiş şekli

Daha önce, yan yana deneyimler oluşturan uzantılar, birden fazla yerel pencereyi yeniden boyutlandırma, sayfaları <iframe> öğelerine yerleştirme veya yan panelleri kullanma gibi kırılgan geçici çözümlere dayanıyordu. Yeni Bölünmüş Görünüm API'si, yeni sekme düzeni yönetimi özelliklerini kullanıma sunmak için artık doğrudan Chrome'un Tabs API ile entegre ediliyor.

Manifest izinleri

Bölünmüş Görünüm API'si browser.tabs ad alanının bir parçasıdır ve kullanılmak için herhangi bir izin gerektirmez.

Bölünmüş görünümleri belirleme

Her Tab nesnesi bir splitViewId özelliği içerir. Sekme bölünmüş görünümün bir parçasıysa eşlenmiş sekmesiyle benzersiz bir tanımlayıcıyı paylaşır. Aksi takdirde, splitViewId varsayılan olarak -1 olur.

// 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);

Genel kısıtlamalar

İki sekmenin bölünmüş görünüme katılabilmesi için aşağıdaki koşulları karşılaması gerekir:

  1. Sekmeler birbirine bitişik olmalı (veya bitişik oluşturulmalıdır).
  2. Sekmeler bölünmüş görünümde olmamalıdır.
  3. Sekmeler aynı pinned, windowId ve groupId durumuna sahip olmalıdır.

Aksine, iki sekme ayrılmadığında birbirlerine göre konumlarının yanı sıra aynı pinned, windowId, groupId durumlarını korur.

Bölünmüş görünümler oluşturma

Bir uzantının yeni bir bölünmüş görünüm oluşturabileceği iki yöntem vardır:

  1. browser.tabs.create içinde yeni splitWithTabId parametresini kullanarak mevcut bir sekmeyle bölünecek yeni bir sekme oluşturun.
  2. Mevcut iki sekmeyi yeni browser.tabs.createSplit yöntemiyle eşleyin.

Örnekler

splitWithTabId simgesini kullanarak mevcut bir sekmeyle bölünmüş yeni bir sekme oluşturabilirsiniz.

await browser.tabs.create({splitWithTabId: existingTab.id});

Varsayılan olarak, yeni sekme mevcut sekmenin sağında oluşturulur.

Mevcut sekmenin solunda yeni bir sekme oluşturmak için dizini söz konusu sekmenin dizini olarak ayarlayın:

  await browser.tabs.create({splitWithTabId: existingTab.id, index: existingTab.index});

Ayrıca, mevcut iki sekmeyi eşleştirerek yeni bir bölünmüş görünüm oluşturabilirsiniz.

  await browser.tabs.createSplit([existingTab1.id, existingTab2.id]);

Bölünmüş görünümleri birleştirme

Bir uzantı, bölünmüş görünümü iki bağımsız sekmeye ayırmak için new browser.tabs.unsplit yöntemini kullanabilir.

const splitViewId = browser.tabs.createSplit([tab1.id, tab2.id]);
// Unsplitting the split view into two independent tabs
await browser.tabs.unsplit(splitViewId);

Daha fazla bilgi

Bu yeni özelliğin, uzantılarınız için daha verimli iş akışları oluşturmanıza yardımcı olacağını umuyoruz. Bölünmüş görünüm özelliklerine sahip uzantılar oluşturmaya başlamak için Tabs API belgelerine göz atın. Bölünmüş Görünüm API'si ile ilgili sorularınız varsa veya yardıma ihtiyacınız olursa Chromium uzantıları Google Grubu'nu ziyaret edin.

İyi bölmeler!