Frames are bad - really?

W

WCB

Mark said:
That depends on what functionality the frames provide that you want to
replace.

There are a couple of common reasons people use frames. The first reason
is so that they only have to update 1 file e.g. for their menu. The link
Adrienne provided explains various other solutions for that. The other
main reason is so that the navigation or header stays on the screen all
the time (i.e. scrolls separately from the body). This can be achieved
through CSS and position: fixed; (IE doesn't support it, but there are
Javascript workarounds).

What do your frames do that you want to know how to replace (if not one
of the above)?

I am just getting into HTML. I want to learn to use best practices,
at a fairly professional level. As far as I can see, the main issue with
frames is navigation (fault usually of lazy frames using site creator)
and lack of ability to bookmark a given frame.

The problem is looking like there is no easy way to achieve what frames
does without breaking things for IE and having to do complex workarounds for
that.

CSS sheets are in, the rest seems to be a big nest of gotchyas no matter
what you do.
 
J

jake

Alan said:
It is possible to have a framed site like this, and to enable a
reasonably knowledgable user to bookmark the safety measures page for
isobutanol.

My chemical site uses some framed indexes, but has a "No frames" link
on each data sheet. Click the link and you have a complete page that
can be bookmarked in any browser that supports bookmarking.

<http://www.alanwood.net/pesticides/index_cn_frame.html>
An excellent example of a framed site, and one that many people need to
take time out to study.

regards.
 
J

jake

WCB said:
I have noticed this on a few sites. Now I understand.
It seem then that the guys who use frames should
be sure to have a next, previous, home link explicitly
working.

Well, a link back to a page or frameset containing the navigation.
So its not then exactly a frame problem, but failure
to use frames right. Or am I not understanding this?

You're understanding it OK.
 
T

Travis Newbury

WCB said:
I am just getting into HTML. I want to learn to use best practices,
at a fairly professional level.

"Professional Level" is in the eyes of the beholder. Look out for
people that say the words "Never" or "Always" They are usually your
fringe professionals that wear blinders to anything that does not
completely agree with their thoughts.
As far as I can see, the main issue with
frames is...

Like everything else, frames have their place. Each project you work on
will dictate what is right and what is wrong.
CSS sheets are in, the rest seems to be a big nest of gotchyas no matter
what you do.

The only reason for this is that none of the browsers seem to do it the
same way. Again, the individual project will dictate how this will come
into play.

There is lots a great advice here. But remember it is only advice.
Learn for your self. Look at what others are doing. Look at what seem
to be trends in web development.
 
D

dorayme

From: jake said:
An excellent example of a framed site, and one that many people need to take
time out to study.

I have been using some html (modified slightly) on character entities from
the W3C site as reference for years. I think, if I may, I will now use
Alan's excellent page on this data from now on. It is more beautiful and
easier to navigate than the one I have.

This site reminded me of a small issue with frames. I want the left column
type to be bigger at times according to the tiredness of my eyes. Easy
enough, I just hit command and + and everything goes up comfortably. But I
have either forgotten or never knew how to increase the size of the fonts in
just one frame. And when I did increase all, the top frame got obscured (the
frame being specified absolutely) - easily fixed by dragging the frame
border down. On windows PCs are there right click type ways of increasing
just some frame fonts?

(I think I just have always *liked* frames a lot, they are a nice toy! I
once made a home site with many sections and then, for the heck of it, made
one page in which the whole of my site could be seen without jumping
anywhere else off the page. Of course, one needed to use scroll bars like a
mad thing and be patiently dragging borders about... I just played with it,
I did not hear - yes, I know, it's sad - if anyone else in the world saw
it.)

dorayme
 
W

WCB

Travis said:
"Professional Level" is in the eyes of the beholder. Look out for
people that say the words "Never" or "Always" They are usually your
fringe professionals that wear blinders to anything that does not
completely agree with their thoughts.


Basically, I want to avoid stuff that that would make somebody hiring
rolls their eyes and think "Well no.. amateur"

And I want to avoid working hard to learn something I will some day
have to unlearn.

Like everything else, frames have their place. Each project you work on
will dictate what is right and what is wrong.


The only reason for this is that none of the browsers seem to do it the
same way. Again, the individual project will dictate how this will come
into play.

So its going to be catering to IE 5,6,7 and Firefox it looks like.
which seem to be the most part of it.

There is lots a great advice here. But remember it is only advice.
Learn for your self. Look at what others are doing. Look at what seem
to be trends in web development.


Yes. Like I say though, I want to avoid learning something I will have to
unlearn.
That is always the hard way. "Geeze! If I had only known!"
 
T

Travis Newbury

WCB said:
Basically, I want to avoid stuff that that would make somebody hiring
rolls their eyes and think "Well no.. amateur"
And I want to avoid working hard to learn something I will some day
have to unlearn.

Have a good solid understanding of HTML, CSS, client scripting, and some
flavor of Server scripting. Everything else will fall into place. As
far as specifics go, look at the kinds of sites representing the places
you will someday want to work. What do they do?
 
N

Neredbojias

With neither quill nor qualm said:
What about your most important visitor: googlebot?

If you're concerned about SE ranking, of course. However, we *were*
talking about browsers.
 
S

Stewart Gordon

Neredbojias said:
With neither quill nor qualm, WCB quothed

As for browsers-in-use, I'd say less than 1%. All even halfway-modern
graphical browsers anyone's ever heard of support frames.

Try telling Sagem that the web browser built into my mobile phone is a
decade out of date, and that it should be ignoring the fact that framed
layouts don't work well on such a small screen.

And notice also your own words: _graphical_ browsers. OK, so there's no
real reason browsers like Lynx and Braille devices can't be made to
support frames, but the concept doesn't make much sense to a speech
synthesiser....

Stewart.

--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- a->--- UB@ P+ L E@ W++@ N+++ o K- w++@ O? M V? PS- PE- Y?
PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------
My e-mail is valid but not my primary mailbox. Please keep replies on
the 'group where everyone may benefit.
 
W

WCB

Travis said:
Have a good solid understanding of HTML, CSS, client scripting, and some
flavor of Server scripting. Everything else will fall into place. As
far as specifics go, look at the kinds of sites representing the places
you will someday want to work. What do they do?

Basically two general categories.

Catalogue sales, and content like news, or sales information.
Seems to be where the jobs and money are.
 
A

Auggie

Yes. Like I say though, I want to avoid learning something I will have to
unlearn.
That is always the hard way. "Geeze! If I had only known!"

There are legitimate uses for frames so you should atleast learn the basics
of how to use them.

If your use of frames is for a reason like "I don't want to have to edit a
hundred pages each time I add a new link to my navigation bar" then you
should be using server side includes instead of frames.
 
N

Neredbojias

With neither quill nor qualm, Stewart Gordon quothed
Try telling Sagem that the web browser built into my mobile phone is a
decade out of date, and that it should be ignoring the fact that framed
layouts don't work well on such a small screen.

And notice also your own words: _graphical_ browsers. OK, so there's no
real reason browsers like Lynx and Braille devices can't be made to
support frames, but the concept doesn't make much sense to a speech
synthesiser....

I'm not quite sure what you're saying, but if you view each
"possibility" of a frames page as a separate page, what's the
difference? That's the real problem with frames: the address/url, and
the only significant problem I can see.
 
S

Stewart Gordon

Neredbojias said:
With neither quill nor qualm, Stewart Gordon quothed


I'm not quite sure what you're saying, but if you view each
"possibility" of a frames page as a separate page, what's the
difference? That's the real problem with frames: the address/url, and
the only significant problem I can see.

Do you mean such UAs should just display one frame at a time and provide
a means of switching between them? That can be done in theory. But in
practice, framesets tend to be designed on the assumption that the
frames will be displayed together. This means that if they are shown
separately, the user will often need to take an extra step to follow a
link (and this is actually rather slow on some mobile phones). OTOH if
you provide an alternative navigation interface for users who can't view
the frames together, then these people'll find it easier.

Stewart.

--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- a->--- UB@ P+ L E@ W++@ N+++ o K- w++@ O? M V? PS- PE- Y?
PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox. Please keep replies on
the 'group where everyone may benefit.
 
N

Neredbojias

With neither quill nor qualm, Stewart Gordon quothed
Do you mean such UAs should just display one frame at a time and provide
a means of switching between them?

No. Let me exemplify. Here's how I might do a frames system if I
wanted to be "proper".

Take a page with 3 frames:

1. The logo, same all the time.
2. Nav bar/column to call up the content, also the same all the time.
3. The content frame, receiving the results of the nav links.

When I click a link, it either:

a. Targets a whole new frames page with only the url of the 3rd frame
different, or -
b. Targets the same frames page with a query string loading the
correct content page into the 3rd frame via server-side scripting or
javascript.

This (these) ways, the address of the frames page is different for each
possible variation of content and no url-bookmarking anomalies would
exist.
 
S

Stewart Gordon

Neredbojias said:
With neither quill nor qualm, Stewart Gordon quothed


No. Let me exemplify.

I don't see how what follows relates to this.
Here's how I might do a frames system if I
wanted to be "proper".

Take a page with 3 frames:

1. The logo, same all the time.
2. Nav bar/column to call up the content, also the same all the time.
3. The content frame, receiving the results of the nav links.

When I click a link, it either:

a. Targets a whole new frames page with only the url of the 3rd frame
different, or -
b. Targets the same frames page with a query string loading the
correct content page into the 3rd frame via server-side scripting or
javascript.

This (these) ways, the address of the frames page is different for each
possible variation of content and no url-bookmarking anomalies would
exist.

True. However, some of the benefits of frames are lost:

1. It becomes necessary to have several versions of the frameset page,
taking up more space on your server and in the user's cache.

2. The browser must fetch two html files each time a link is followed,
which can slow things down a bit.

3. It adds to the duplication of effort involved in creating an unframed
version as well for those who do browse using Lynx or a mobile phone.

4. It becomes tricky to link to fragments. Suppose you want to provide
a navigation frame with links to various parts of various pages. Unless
you create a frameset for each _fragment_ of a page, changing the whole
frameset at once won't achieve this. Unless you pass the fragment ID as
a query string in the frameset URL itself, and rely on either
JavaScript (which will always shut out and/or annoy some users) or
server-side scripting (which will add to your server load and prevent
people from browsing your site offline) to pass it on.

5. Some kinds of interactive sites can certainly benefit from being able
to switch some frames without resetting the state of others.

--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/M d- s:- a->--- UB@ P+ L E@ W++@ N+++ o K- w++@ O? M V? PS- PE- Y?
PGP- t- 5? X? R b DI? D G e++>++++ h-- r-- !y
------END GEEK CODE BLOCK------

My e-mail is valid but not my primary mailbox. Please keep replies on
the 'group where everyone may benefit.
 
N

Neredbojias

With neither quill nor qualm, Stewart Gordon quothed
True. However, some of the benefits of frames are lost:

1. It becomes necessary to have several versions of the frameset page,
taking up more space on your server and in the user's cache.

No. Using either javascript or some server-side solution, only 1 is
needed.
2. The browser must fetch two html files each time a link is followed,
which can slow things down a bit.

True, but the frameset is only marginally inhibitive.
3. It adds to the duplication of effort involved in creating an unframed
version as well for those who do browse using Lynx or a mobile phone.

Well, when I did it, it was for a strictly thumbs-'n-graphics page so I
didn't particularly care about the consequences to Lynx, and phones are
for talking on.
4. It becomes tricky to link to fragments. Suppose you want to provide
a navigation frame with links to various parts of various pages. Unless
you create a frameset for each _fragment_ of a page, changing the whole
frameset at once won't achieve this. Unless you pass the fragment ID as
a query string in the frameset URL itself, and rely on either
JavaScript (which will always shut out and/or annoy some users) or
server-side scripting (which will add to your server load and prevent
people from browsing your site offline) to pass it on.

Uh huh, but as always, the page-crafter should be astute enough at his
craft to limit relative complications such as you describe. I could
screw up a non-frames html page just as easily.
5. Some kinds of interactive sites can certainly benefit from being able
to switch some frames without resetting the state of others.

All I'm saying is that frames *can* be used correctly. They are not an
automatic pariah to html but do require some forethought of application
in order to provide a beneficial interface to the web.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,008
Latest member
Rahul737

Latest Threads

Top