En février 2026, Chrome 145 a introduit la vue fractionnée native, qui permet aux utilisateurs d'afficher et de gérer les onglets côte à côte dans la même fenêtre. Ils n'ont donc plus besoin d'outils tiers pour gérer les fenêtres d'OS distinctes. Bien que les utilisateurs puissent ajouter et supprimer manuellement des onglets d'une vue fractionnée à l'aide des commandes du navigateur, les développeurs ne pouvaient pas contrôler de manière programmatique ces nouvelles mises en page d'onglets dans les extensions Chrome.
Nous avons le plaisir de vous annoncer la sortie de la nouvelle API Split View, disponible à partir de Chrome 155. Développée en étroite collaboration avec Mozilla et d'autres fournisseurs de navigateurs au sein du WebExtensions Community Group, cette nouvelle API permet aux extensions de détecter, de créer et de gérer les vues fractionnées intégrées.
Démo
Fonctionnement
Auparavant, les extensions qui créaient des expériences côte à côte s'appuyaient sur des solutions de contournement fragiles, comme le redimensionnement de plusieurs fenêtres natives, l'intégration de pages dans des éléments <iframe> ou l'utilisation de panneaux latéraux. La nouvelle API Split View s'intègre désormais directement à l'API Tabs de Chrome pour débloquer de nouvelles fonctionnalités de gestion de la disposition des onglets.
Autorisations du fichier manifeste
L'API Split View fait partie de l'espace de noms browser.tabs et ne nécessite aucune autorisation pour être utilisée.
Identifier les vues fractionnées
Chaque objet Tab contient une propriété splitViewId.
Si l'onglet fait partie d'une vue fractionnée, il partage un identifiant unique avec l'onglet associé. Sinon, splitViewId est défini par défaut sur -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);
Contraintes générales
Pour que deux onglets puissent rejoindre une vue fractionnée, ils doivent répondre aux exigences suivantes :
- Les onglets doivent être adjacents (ou créés de manière adjacente).
- Les onglets ne doivent pas déjà être en mode vue fractionnée.
- Les onglets doivent avoir le même état
pinned,windowIdetgroupId.
À l'inverse, lorsque deux onglets ne sont pas fractionnés, ils conservent les mêmes états pinned, windowId et groupId, ainsi que leur emplacement relatif.
Créer des vues fractionnées
Il existe deux méthodes permettant à une extension de créer une vue fractionnée :
- Créez un onglet qui sera fractionné avec un onglet existant à l'aide du nouveau paramètre
splitWithTabIddansbrowser.tabs.create. - Associez deux onglets existants à la nouvelle méthode
browser.tabs.createSplit.
Exemples
Vous pouvez créer un onglet à l'aide de splitWithTabId pour le fractionner avec un onglet existant.
await browser.tabs.create({splitWithTabId: existingTab.id});
Par défaut, le nouvel onglet est créé à la droite de l'onglet existant.
Pour créer un onglet à gauche de l'onglet existant, définissez l'index sur celui de cet onglet :
await browser.tabs.create({splitWithTabId: existingTab.id, index: existingTab.index});
Vous pouvez également créer une vue fractionnée en associant deux onglets existants.
await browser.tabs.createSplit([existingTab1.id, existingTab2.id]);
Annuler la vue fractionnée
Pour séparer une vue fractionnée en deux onglets indépendants, une extension peut utiliser la nouvelle méthode 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);
En savoir plus
Nous espérons que cette nouvelle fonctionnalité vous permettra de créer des workflows plus productifs pour vos extensions. Pour commencer à créer des extensions avec des fonctionnalités de vue fractionnée, consultez la documentation de l'API Tabs. Si vous avez des questions ou besoin d'aide concernant l'API Split View, consultez le groupe Google Extensions Chromium.
Bon fractionnement !