More about frames...
In my opinion, the only really good feature a set of frames adds to a designer's set of tools [besides the letter box layout] is the concept of having one document remaining static while the user browses a site.
One can take advantage of this "behavior" to:
- Play a sound continuously while the user is browsing the site,
- Open a Popup Window only when a user leaves a site,
- Documents comparison (ie.: Images, Browsers & Doctypes),
- Documents interaction (ie.: my Layout Editor),
- etc.
Because this approach will be selected only after careful consideration of the relative benefits of frames to the needs of the site versus the disadvantages of using frames in the first place, most designers will try to minimize the impact of the frameset by creating a "one-frame-only-layout" - a second frame having no design purpose in their mind. Unfortunately, making a frame "invisible" is not that easy.
Designers are often unaware that earlier versions of NN creates 2 visible frames for the following comma-separated lists:
- ROWS="100%,0"
- ROWS="0,100%"
- ROWS="*,100%"
- ROWS="*,0"
- ROWS="0,*"
- ROWS="100%,*" will work with NN but not in Opera 3.x
Trying to use the same values with COLS instead of ROWS leads to worse results.
Using frames to facilitate maintenance [i.e. having all the content related to navigation in a single document] is no longer a valid reason since there are now much better alternatives to framesets to achieve this; i.e.: SSI [Server Side Includes], Server.Execute() [IIS 5], External JavaScript files, Dreamweaver Templates, Dreamweaver Library Items, FrontPage shared borders, etc.
Using frames to keep some content always in view [like logos or site navigation] is not a valid reason either because the same effect may be achieved using scrolling or persistent layers.
Using frames just to have a static URI in the address bar is INSANE.
If you think that frameset codes are interpreted the same by every browser you're wrong.
Read this and then do not forget to test your frameset in different browsers [different versions] and with different OSs.
The "Netscape resize fix" command is only needed in the frameset document. It is not necessary to put it on every page that is a source of a frame.
When reloading a frameset document, the frameset state is lost [replaced by the default documents layout]. See "Going Dynamic" - Raising the Bar.
Always have a no-frames alternative.
Always consider the noframes and noscript tags as the most important elements of a frameset.
In my opinion, cross-frames pop-up menus are the biggest mistake a web designer can make - stay away from them. They are only useful to show-off the skills of a programmer.




















