Controversial Web "Framing" Makes a Comeback
theodp writes "The WSJ reports that the controversial practice of framing seems to be making a comeback on the Web. Big sites like Digg, Facebook, Ask.com and StumbleUpon have all begun framing links recently, joining the likes of Google, which employs the technique for Image Search. Long ago, Jakob Nielsen argued that 'frames break the fundamental user model of the web page,' but, today's practitioners contend, 'it's a feature, not a bug,' and say it provides publishers with massive distribution they wouldn't otherwise have."
stick this in the head of your page
<script type="text/javascript"><!--
var _tl=top.location,_sl=self.location;if(_tl!=_sl)window.top.location=_sl;
//-->
</script>
I assume we are talking about i-frames here, not setting out an entire page using the old-fashioned Frameset method. Frameset layouts were a nightmare in many ways and their passing is a good thing, but using an i-frame to show some or all of a separate webpage on the page you are viewing can be very useful, and is perfectly kosher in terms of valid HTML and CSS as far as I know.
Smivs on the intertubes!
Not that this affects you point, but for sites that don't offer that (I haven't come across any),
In firefox: right click -> this frame -> show only this frame, will sort you out, other browsers probably perform similarly.
IranAir Flight 655 never forget!
Frames made it very simple to have you web content broken up into nice blocks. You could do all your navigation in one frame, that meant, one file contained your menus. You had one file to edit and you could produce a well defined, well behaved navigation system.
With the jihad against frames we were left with two options:
ALL of this could have been solved by having the HTML spec provide a #include tag that would tell the browser to fetch that file eg: but no one seems to like that idea anymore then they likes framsets or iframes
As to Jakob Nielsen saying it breaks the user interface, that guy needs to get over himself in a big way. The web is evolving and changing all the time. As so many have said, the browser is not simply a page reproducer any more, those days are long gone, it has become an application container that allows applications, served from without to run in a defined and "secure" ( we hope ) application space on the local machine.
I for one advocate forking the whole notion. It is time to create and application shell that is specifically designed do just run applications of some specification. I propose that this can be done by making a tag to go along side as the top level tag and call . This would allow the "browser" to take one of two immediate actions:
Further I propose that the navigation portion of be ported out to the browser and you simply load the elements of the menus and it is fed by a separate channel much like XMLhttprequest.
Hey KID! Yeah you, get the fuck off my lawn!
No, because of same-origin security - $EVIL_SITE's JavaScript can't read the location of the bottom frame.