5 ms·
Everything old is new again! There's a little bit of an iframe renaissance happening, because even though iframes are a blunt instrument for combining content f
by kwindla 8y ago
Everything old is new again! There's a little bit of an iframe renaissance happening, because even though iframes are a blunt instrument for combining content from different origins, they also have some really desirable features.
Cross-origin iframes are completely sandboxed, they can be styled quite nicely as transparent overlays with css, and they are supported on all browsers (including mobile).
Stripe Checkout uses iframes (in a super-nice, completely invisible) way. Intercom Messenger runs in (multiple, nested) iframes.
Our startup makes an in-browser video calling product and last year we started seeing people hacking together "embedded" video calling by wrapping our call pages in iframes. We thought, "that's cool!" and launched a full API to support this growing set of use cases. [0]
These days, if you want to combine interactive functionality on a web site, from multiple origins, you have several pretty good choices with different trade-offs: loading and using javascript libraries right in your DOM context, iframes, and (for patching in functionality at the user-level) Chrome extensions.
Here's to asymptotically approaching the Project Xanadu feature set. [1]
[0]-https://docs.daily.co/reference#iframe-hello-world https://docs.daily.co/reference#iframe-hello-world
[1]-https://thenewstack.io/ted-nelson-can-still-learn-xanadu/ https://thenewstack.io/ted-nelson-can-still-learn-xanadu/
- reaperducer 8y agoI don't have any projects that currently use iframes, but another positive is that there's no Javascript required; which is important to some developers and projects.
- dmix 8y agoI don't think iFrames ever went away. It's been a feature of embedded web software for as long as I can remember. I don't think there is a sufficient other solution. Injecting HTML into the DOM of an unpredictable set of pages is difficult/impossible without iFrames...