There are *very few* situations where frames are in theory better than
singles pages. A common scenario cited it to provide a static header with
scrolling main body. You can use CSS-P combined with Javascript to achieve
this but it's messy; besides I'd question whether you really need this
capability - do you really need this feature?
Frames go against the spirit of the web, as does using tables for layout,
but in both cases they are expedient and easy for novices to pick up. Very
few 'teach-yourself-html' sites show noobs how to use CSS and to validate
(X)HTML, so people learn bad habits that are hard to undo.
There are very good reasons not to use frames, for example accessibility
reasons. Inter-frame javascript can be more tricky also. On the performance
site, AFAIK, a single page structure using validaing HTML/CSS with SSI's
will beat the frameset equivalent. I think there is actually a small
performance hit in generating the frameset from individual frames (but I'm
not sure about this), whereas caching technology has improved so that SSI's
are very efficient structures.
On the other hand, CSS2 support is varied across browsers. Maybe in 18
months there will be a new CSS version with new browsers that accurately
support it... but until then we'll have problems convincing people to drop
frames/tables etc.
I dont agree that frames are 'evil' but I would have to be at my wits end
before I used them in anger.
The original question concerned a 'serious portal'. If you look at what we
might consider 'serious' portals today, How many are using frames, and how
many not?
MSDN, Amazon, BBC, Yahoo, W3C, etc.... None use frames.
There are some that still do, eg MSDN Newsgroups, but they are fewer and
further between.
So... in summary...
Frames are NOT the future. If you cant achieve what you want to using CSS-P
& SSI, then consider changing your design, but ultimately, you wont get shot
for using frames!
Just my £0.02.
CJM
PS. If you want a laugh, go and ask this question in
comp.infosystems.
www.htm or stylesheets. Sit back and watch the feathers
fly!