Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
The Internet

Controversial Web "Framing" Makes a Comeback 210

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."
This discussion has been archived. No new comments can be posted.

Controversial Web "Framing" Makes a Comeback

Comments Filter:
  • How to stop it (Score:5, Informative)

    by Anonymous Coward on Saturday May 02, 2009 @11:29AM (#27798723)
    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>
  • The i's have it (Score:3, Informative)

    by Smivs ( 1197859 ) <smivs@smivsonline.co.uk> on Saturday May 02, 2009 @11:43AM (#27798807) Homepage Journal

    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.

  • Re:The i's have it (Score:3, Informative)

    by rednip ( 186217 ) on Saturday May 02, 2009 @12:15PM (#27798983) Journal
    Actually, you're wrong, at least in digg's case, this code is stuck at the end of page digg sent me when I just clicked on a link from their site:

    <iframe id="diggiFrame" name="diggiFrame" noresize="noresize" src="http://www.linuxjournal.com/content/internet-censorship-us-or-just-law-enforcement" frameborder="0"></iframe>

    It does seem to be easy to 'permanently' remove, but I'm not a 'fan' of wrapped content of any form.

  • by RiotingPacifist ( 1228016 ) on Saturday May 02, 2009 @12:42PM (#27799151)

    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.

  • by FlyingGuy ( 989135 ) <flyingguy.gmail@com> on Saturday May 02, 2009 @02:56PM (#27799987)

    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:

    • The menu code had to be reproduced in every file you pulled in. Make a change to the menu system and if you served 1000 different pages, you had to change 1000 files.
    • Serve it from a database, using php, ruby, perl, python or whatever. Massive complication since you had to build a CMS just to avoid getting smacked down or you had file includes all over the place in those same files, but to have a #include you had to use a scripting language, no more pure HTML for you.

    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:

    • Start an Application Shell, load and run the app.
    • Start the HTML rendering engine and display the page.

    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.

  • Re:The i's have it (Score:2, Informative)

    by BenoitRen ( 998927 ) on Saturday May 02, 2009 @07:06PM (#27801537)

    No, the iframe element is not a valid element in HTML 4.01 Strict.

  • by wcbarksdale ( 621327 ) on Saturday May 02, 2009 @09:31PM (#27802465)
    Server-side includes? [wikipedia.org]
  • by Baricom ( 763970 ) on Sunday May 03, 2009 @12:15AM (#27803425)

    No, because of same-origin security - $EVIL_SITE's JavaScript can't read the location of the bottom frame.

  • by OldTOP ( 1118645 ) on Sunday May 03, 2009 @12:25AM (#27803475)
    It would be nice to have an HTML #include tag. You can do it in PHP at a pretty basic level. PHP lets you write the menu content in an HTML file, and then basically you embed your menu into each of the content pages in a PHP tag:

    <?php
    include('menu-filename');
    ?>

    (For those of you new to PHP, everything in the file not enclosed in a tag is just HTML, so you don't need to know much to add a little PHP into an HTML file. On the other hand, your hosting service has to support PHP for this to work.)

    You can also turn it inside out and put the menu into your main page file (which has to be PHP), and have each menu item link to the main page with a parameter added to the URL identifying the page to be displayed -- default to 'home'. You set up the menu, then drop the page content into the page at the appropriate point. You only update the menu (and overall layout) in one place, and it instantly applies to all your content pages.

    That would take a couple of evenings reading up on PHP, if it's new to you. Especially read up on security -- for example, DO NOT put the actual name of the file in the URL, use an index to an internal table of valid file names. You (probably) wouldn't want to let users start displaying any file on your computer whose name they typed appended to the URL.

    I guess it's a very poor man's CMS.

They are relatively good but absolutely terrible. -- Alan Kay, commenting on Apollos

Working...