Tutorial 15: You've been Framed, Part II - HTML with Style | 5
In addition to all of the above, let's not forget two of the main problems with frames that were mentioned in the previous tutorial: Size and complexity. First of all, adding frames to your site means extra pages.A simple three-framed approach means you need to download three separate documents in order to view a page. There are arguments against this, mainly that you only do it once when the frameset is set up and then have to download only the contents of a single frame every time you load a new document, but as we will see later on this is very rarely the case, as most framed setups require a lot of downloads in order to update more than one frame at a time. Also bear in mind that downloading two small documents takes longer, in some cases much longer, than downloading a single larger one of size equal to the sum of the smaller ones (this has to do with the way that TCP, a protocol used to transfer data over the Internet, works, and is not really worth discussing here).
Also, all the business with link targets can make it easy to mess up and display the wrong document in the wrong frame. This is especially true if you link to a document that is not supposed to appear in a frame and forget to set TARGET="_top" on the link, leaving the user "trapped" in your frames. Even worse, imagine one of the horror stories described above, where a user gets to a document in your site without the surrounding frameset, probably through a search engine, and follows a link with a TARGET for a frame that doesn't exist. The result is a new browser window for each frame, which can't be fun for the user.
OK, now that we've had a look at the massive problems with frames, I'll walk you through some of the methods that can be used to solve them. These are mostly dirty tricks you can play; most of them are inelegant solutions that usually solve only part of the problem and create problems of their own, but if you're forced to deal with frames, you should consider them.
Produced by Stephanos Piperoglou
Created: May 28, 1998
Revised: February 25, 1999