I don’t like the code, but the code likes me.
You see, the World Wide Web Consortium has broken HTML into three “Document Type Definitions” (DTDs). There’s Strict DTD which wants to make HTML purely structural (and using Cascading Style Sheets to handle the presentation of how the Web page will look). There’s Transitional DTD which you can consider the default since it is the Strict DTD but with the inclusion of tags and attributes that Netscape and Internet Explorer created (such as FONT). And finally there’s Frameset DTD which is the Transitional DTD but says that a page is creating frames.
target="_top" (thereby ensuring that each link fills the browser window and breaks the site out of the frame), and another way is to use a BASE tag with an attribute/value pair of
Ah, now there we have a problem. The attribute target is not part of the Strict DTD because “target” is an attribute which dictates which frame to load the desired link. Even though the value “_top” means the top of the browser document (thereby breaking a page out of a frame) and “_blank” means a new, unnamed browser window. Using the definition of the “target” attribute, I can understand why it is not in the Strict DTD. But by the very nature that Frameset DTD exists (and that people have the ability to open up other Web sites within a small, inaccessible frame window), I think that there should be a mechanisim within the Strict DTD to make sure that (or provide an option that) Strict DTD pages do not appear inside of framed documents.
And that’s my rant for tonight.