This element is part of the FRAME syntax. As created by Netscape and
implemented by other browsers, it is used to allow a regular HTML BODY
structure to be nested in the FRAMESET structure. To older browsers that
do not support the FRAMESET syntax, it appears that the document only
contains the usual <head> and
<body> structure [standard HTML behavior is
to ignore tags that are not understood.] Frames capable browsers will
ignore NOFRAMES content.
HTML 4.0 is the first proposed HTML standard to incorporate the FRAME
syntax. A subtle change to the behavior has been added to its design,
however. In the older version of the frame syntax a common, banner-like
element is created as a subdocument. This would appear as a frame in a
static location while navigating pages.
To view the content of the static frame in a non-supporting browser
means that a second complete set of documents would need to be authored.
Within a sub-document of the frame layout, NOFRAMES can now also be
used to ignore sections of content. Such content blocks could include
the information used in the static frame information of other
sub-documents.
<html>
<head>
<title>Frames
Example</title>
</head>
<framesetROWS="20,25%,*">
<frameSRC="frame1.html"
NAME="frame1">
<frameSRC="frame2.html"
NAME="frame2">
<framesetCOLS="30%,*">
<frameSRC="frame3.html"
NAME="frame3">
<frameSRC="frame4.html"
NAME="frame4">
</frameset>
<noframes>
<body>
This text
will appear only if the browser does not support frames.
</body>
</noframes>
</frameset>
</html>
DTD Note: With the inclusion of frames capability in
HTML 4.0 comes a slight, but much needed change to the concept. Previously,
the NOFRAMES element was only used to give non-conforming browsers content
in FRAMESET definition documents. A big problem with frames though is that
when designing a common, banner-like sub-document, it would not be visible to
browsers that didn't recognize frames when the sub-documents were browsed
separately. An author would have to create a second complete set of documents
that included the static frame material. Essentially, there was no way to
make content NOT appear in sub-documents in a frame browsing
scenario. HTML 4.0 now allows the NOFRAMES element to be used for making
content in sub-documents invisible to framed browsers. [that looks
confusing to me too. =) -ed.]
I have seen MANY people invoke the NOFRAMES element incorrectly.
Common errors include using <NOFRAME> or <NO FRAMES>.
Browsers generally do not have a problem with these errors, as anything
non-frames related will be ignored in these cases. Considering the new
HTML 4.0 use of NOFRAMES, authors will have to start using correct syntax
as this use becomes popular.
It is STRONGLY recommended to include alternate body content
in the NOFRAMES section of a frames definition document. Even if the content
is a link to a non-framed version of the page, this provides users of frames
incapable browsers the chance to view the content of your site.
DO NOT use the common line in the NOFRAMES element that reads something like: "You are using a browser
that does not support frames. Go get one here."
Some users may not want to use browsers that have frames features,
or they simply may not currently have the capacity to use such a browser.
If they wanted such a browser, THEY WOULD ALREADY HAVE IT. Keep
this in mind when designing your pages.
Technically, it is very likely the NOFRAMES element currently serves
little purpose other than to satisfy proper syntax and act as a structural
nicety. Browsers that understand frames will not care about anything other
than frame layout statements, and browsers that don't understand frames
will not see the tag anyway. Still - playing nice and using the agreed
syntax is still a very wise idea. =) The HTML 4.0 syntax change finally
gives NOFRAMES something to do.
Browser Peculiarities
Internet Explorer 4.0 supports the use of NOFRAMES in regular HTML
documents to ignore content in framed browsing scenarios.
Anecdote: After the advent of frames, this line started appearing very frequently, and
can still quite frequently be found when searching for information about frames: "If you can read this, you are
using a frames challenged browser. This document
has been designed using frames. To view frames
download Netscape Navigator."
This was the message used in the example page at Netscape's site describing
how to use frames.