You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Proposal: extend window.open() to split tabs, and add declarative equivalents for window.open() generally #13153
{See #9644 for a prior very similar proposal. This issue intends to supersede that issue, and is quite similar. I debated just commenting there, but I don't want there to be confusion about the specifics of the API shape being proposed.}
Many browsers these days include a "split tabs" feature, where two separate top level URLs can be viewed side-by-side within a single "tab" of the browser. However, there is no way to request for window.open() to open the new URL in this mode. Neither is there a way to cause a link-click to open in this mode.
But TL;DR, the proposal for the imperative API is a new "split"window features token:
// Basic: request a split tab.
window.open("https://www.example.com", "_blank", "split");
// Open on the left, taking 30% of the width.
window.open("https://www.example.com", "_blank", "split,splitposition=left,splitsize=30");
and the declarative API is a new windowFeatures attribute:
<a href="/?url=https%3A%2F%2Fexample.com" target="_blank"
windowfeatures="split,splitposition=right,splitsize=40">Open in a split tab</a>
Note that the declarative proposal also allows links to open popups, which wasn't possible before without JS.
This has been prototyped in Chromium, which you can try out using the latest Canary build, plus --enable-features="WindowOpenSplitTab" on the command line. (And soon by just enabling Experimental Web Platform Features instead.)
But I don't quite understand how this is supposed to work if one is already in a split view. Say you're in the left view and try to open a new view in the bottom. A browser might support only either vertical or horizontal split at a time.
And splitsize is likely a bit problematic. Browser window might be very narrow, in that case splitsize=20 would be probably very unusable - in such case 50 would make more sense. But on a wide screen, 20 could be totally fine.
Like this, and I also think use windowfeatures is better than a "_split" target.
2. I like this.
But I don't quite understand how this is supposed to work if one is already in a split view. Say you're in the left view and try to open a new view in the bottom. A browser might support only either vertical or horizontal split at a time.
And splitsize is likely a bit problematic. Browser window might be very narrow, in that case splitsize=20 would be probably very unusable - in such case 50 would make more sense. But on a wide screen, 20 could be totally fine.
The user agent may ignore split, splitposition, and/or splitsize entirely — for example on a narrow
window, on mobile, or based on user settings. It may also clamp splitsize to a usable range. Ref
Activity
smaug---- commentedon Oct 27, 2026
I like this.
But I don't quite understand how this is supposed to work if one is already in a split view. Say you're in the left view and try to open a new view in the bottom. A browser might support only either vertical or horizontal split at a time.
And splitsize is likely a bit problematic. Browser window might be very narrow, in that case splitsize=20 would be probably very unusable - in such case 50 would make more sense. But on a wide screen, 20 could be totally fine.
xuzhengyi1995 commentedon Oct 28, 2026
Like this, and I also think use
windowfeaturesis better than a "_split" target.split,splitposition, and/orsplitsizeentirely — for example on a narrowwindow, on mobile, or based on user settings. It may also clamp
splitsizeto a usable range. Ref