A frame document has no <body>
. It must not because the browser
ignores any frame tags if it finds any <body>
content before it encounters the
first <frameset>
tag. A frame
document, therefore, is all but invisible to any nonframes-capable
browser. The <noframes>
tag
gives some relief to the frames-disabled.
You should use the <noframes>
tag only within the outermost
<frameset>
tag of a frame
document. Content between the <noframes>
tag and its required end tag
(</noframes>
) is not displayed
by any frames-capable browser but is displayed in lieu of other contents
in the frame document by browsers that do not handle frames. The content
of the <noframes>
tag can be
any normal body content, including the <body>
tag itself.
Although this tag is optional, experienced authors typically
include the <noframes>
tag in
their frame documents with content that warns nonframes-capable browser
users that they're missing the show. And smart authors give those users
a way out, if not direct access to the individual documents that make up
the frame document contents.
Remember our first frame example in this chapter? Figure 11-5 shows what happens when that frame document gets loaded into an old version of Mosaic.
The HTML to produce this message looks like this:
<noframes> Sorry, this document can be viewed only with a frame-capable browser. Go to the <a href="frame1.html"> first HTML document</a> in the set. </noframes>
<noframes>
works because
most browsers are extremely tolerant of erroneous tags and incorrect
documents. A nonframes browser simply ignores the frame tags. What's
left, then, is the content of the <noframes>
tag, which the browser
dutifully displays.
If your browser strictly enforces some version of HTML or XHTML
that does not support frames, it may simply display an error message and refuse to
display the document, even if it contains a <noframes>
tag.
No attributes are specific to the <noframes>
tag, but you can use any of
the 16 standard attributes: class
and style
for style management,
lang
and dir
for language type and display direction,
title
and id
for titling and naming the enclosed
content, and any of the event attributes for user-activated JavaScript
processing within the <noframes>
tag. [The dir attribute, 3.6.1.1]
[The lang attribute,
3.6.1.2] [The id
attribute, 4.1.1.4] [The
title attribute, 4.1.1.5] [Inline Styles: The style Attribute,
8.1.1] [Style Classes,
8.3] [JavaScript Event
Handlers, 12.3.3]