me <me@no.where.com> writes:[color=blue]
> On Tue, 26 Oct 2004 14:59:09 +0100, "Steve Pugh" <steve@pugh.net>
> wrote:[color=green]
> >And whilst we're at it:
> >
http://www.htmlhelp.com/design/frames/whatswrong.html[/color]
>
> Out of interest, (and seriously-not "frames suck") why not frames? (A
> more up to date view rather than one written 7 years ago)[/color]
Frames haven't changed at all in the last seven years. The way
browsers deal with frames has barely changed in the last seven
years. None of the problems in that article have gone away, but
there's several it doesn't mention (see below).
[color=blue]
> The only really valid argument I can see on the above page is that
> lots of work would need to be duplicated to deal with the NOFRAMES
> scenario. (How many browsers these days don't deal with Frames?)[/color]
Rather more than you think. Several don't deal with them *well*, and I
don't know of any mainstream search engine that goes for anything
other than the <noframes> content.
If you don't consider the lack of URL/page relationship (which breaks
bookmarking and in some browsers the back button too) a problem then
you should. It may not be a problem for the author but it certainly is
for many users. This is solvable while keeping frames, but it's a
third chunk of work per page.
Other problems not mentioned in that article:
Printing doesn't work particularly well with frames. It's
unpredictable at best, refuses to print the right frame *at all* at
worst. No real workarounds.
Navigation doesn't change to indicate where you are, so you get
circular links and other problems. Again, this is solvable if you
apply the fix to get the URL/page relationship, but it further
increases the amount of work needed to get the frames to work as well
as the normal page model they replace.
Effectively, to avoid most of the problems with frames you need to
write a separate frameset, navigation document, content document and
noframes element for each page. This is considerably more work
[color=blue]
> If a web page writer tests their design in several common browsers and
> at the common screen resolutions (as everyone does yes?)[/color]
Do they? The impression I get is that most websites *may* get tested
in IE, if the author is having a good day.
I test in lots of browsers, but generally I keep the screen resolution
at 1024*768 where it belongs (on this monitor for this user). The
*canvas width*, the important number, is currently about 820px but
gets tested across a wide range.
[color=blue]
> and the frames display as intended, why not use frames?[/color]
Not that web stats are particularly accurate, but here's the top user
agent string list from one server I maintain for October, and whether
they support frames.
1) IE. [Yes]
2) Googlebot. [No]
3) Mozilla. [Yes]
4) Msnbot. [Not as far as I know]
5) Firefox [Yes]
6) Opera [Yes or no, depending on what it's running on]
7) WWLib [No idea what this is. Maybe it does, maybe it doesn't]
8) Netscape. [Yes]
9) Slurp [Not as far as I know]
10) Safari [Yes]
If we take out the four above that are (probably) search engines [1] in favour
of other browsers, then onto the end of the list:
11) Konqueror [Yes]
12) Lynx [Depends on version, but not particularly well when it does]
13) Galeon [Yes]
14) w3m [Yes, but poorly]
[1] I'm assuming WWLib is some sort of spider. If anyone knows that it
isn't, fine, my points stand either way.
How many of those common (top-10) browsers have you tested in? How
many of those search engines have you tested the display in?
[color=blue]
> It's easy enough for a framed page to call up the frameset, so a
> search engine hit on a page can easily be dealt with.[/color]
It can call up the frameset, but can it call up the frameset on the
right page? You need to fix the URL problem, which you didn't consider
important.
[color=blue]
> If there's a W3C doctype set for frames, then surely they can't be
> that bad, huh?[/color]
There's a W3C doctype for HTML 3.2, but it's generally agreed that a
lot of things in that are bad. Just because the W3C defines a way to
use something doesn't mean that it's necessarily good for general use
[2].
[2] In carefully selected specific uses, frames can be useful. There's
a thread from fairly recently trying to find some examples if you look
at the archive. But in general use on an average website? No.
--
Chris