В начале этого года, в феврале 2026 года, в Chrome 145 была представлена встроенная функция Split View , которая позволяет пользователям просматривать и управлять вкладками рядом друг с другом в одном окне, устраняя необходимость в сторонних инструментах для управления отдельными окнами операционной системы. Хотя пользователи могут вручную добавлять и удалять вкладки в режиме разделенного экрана с помощью элементов управления браузера, разработчики не могли программно управлять этими новыми макетами вкладок в расширениях Chrome.

Мы рады объявить о новом API для разделенного экрана, доступном начиная с Chrome версии 155! Разработанный в тесном сотрудничестве с Mozilla и другими разработчиками браузеров в рамках сообщества WebExtensions, этот новый API позволяет расширениям обнаруживать, создавать и управлять встроенными режимами разделенного экрана.
Демо
Как это работает
Ранее расширения, создающие интерфейсы с параллельным отображением, полагались на ненадежные обходные пути, такие как изменение размера нескольких окон, встраивание страниц в элементы <iframe> или использование боковых панелей. Теперь новый API Split View напрямую интегрируется с API вкладок Chrome, открывая новые возможности управления расположением вкладок.
Манифест разрешений
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);
Узнать больше
Мы надеемся, что эта новая функция значительно повысит производительность ваших расширений. Чтобы начать создавать расширения с возможностью разделенного экрана, ознакомьтесь с документацией по API вкладок . Если у вас возникнут вопросы или потребуется помощь по API разделенного экрана, посетите группу Google по расширениям Chromium .
Удачных расставаний!