Pervasive Recursive Frames



  • I recently stumbled upon my driving instructors website, Immediatly after clicking the link my browser froze, after checking the site on a faster computer I discovered the site had a recursive frame. Quickly I changed to IE (what else would they have designed it for? :P) to get the horror of the code. I hereby present the worst HTML I have ever seen. A cookie for whoever finds the correct amount of errors if it were to be valid XHTML. (Validator is cheating)

    *note* I stripped the name of the company who provided this horror of a CMS, I actually pitty the coder who wrote it.

     -------------------------


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    <html>
    <head>
    <meta name="generator" content="*** CMS 4.0">
    <!-- Content Management System provided by *** : Copyright 2001-2004 *** -->
    <!--meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /-->
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title></title>
    </head>
    <FRAMESET FRAMESPACING="NO" BORDER="0" ROWS="*,600,*" FRAMEBORDER="0">
    <FRAMESET FRAMESPACING="NO" BORDER="0" COLS="*,764,*" FRAMEBORDER="0">
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="1" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="top" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="2" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    </FRAMESET>
    <FRAMESET FRAMESPACING="NO" BORDER="0" COLS="*,764,*" FRAMEBORDER="0">
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="venstre" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAMESET FRAMESPACING="NO" BORDER="0" ROWS="65,*,25" FRAMEBORDER="0">
    <FRAME src="user.asp?layout=logo&objectid=" NAME="logo" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAMESET FRAMESPACING="NO" BORDER="0" COLS="169,*,10" FRAMEBORDER="0">
    <FRAME src="newmenu.asp?layout=F58D29DA6DAE40E7B8DFED4044664E8A&objectid=&blockid=1" NAME="MenuFrame" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAME src="page.asp?layout=Sydkystens&objectid=" NAME="MainFrame" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="AUTO" NORESIZE>
    <FRAME src="user.asp?layout=ScrollBarBorder&objectid=" NAME="ScrollBorder" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    </FRAMESET>
    <FRAME src="user.asp?layout=bundgrafik&objectid=" NAME="bundgrafik" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    </FRAMESET>
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="hoejre" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    </FRAMESET>
    <FRAMESET FRAMESPACING="NO" BORDER="0" COLS="*,764,*" FRAMEBORDER="0">
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="3" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="bund" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    <FRAME src="user.asp?layout=ydreRammer&objectid=" NAME="4" MARGINWIDTH="0" MARGINHEIGHT="0" BORDER="0" FRAMEBORDER="NO" FRAMESPACING="0" SCROLLING="NO" NORESIZE>
    </FRAMESET>
    </FRAMESET>
    </html> 



  • I don't know if it's the same product, but there's an internal webapp where I work with markup that looks much like that. Is the hidden name "Ziteman A/S"?

     



  • It is indeed >.<



  • Um, 7000 errors?



  • How can they even dare put the xhtml doctype on this.. this... THING?!?



  • blink blink  Doesn't xhtml ban the use of UPPERCASE?  Good lord, where to begin...



  • Well, for a cookie, it is not worth trying very hard. We can estimate, though.

    Using all-caps, we get an average of what, 6 errors per tag? Times 18(?) tags is 108. There are no closing tags for any of the frames, so another 13 errors. Finally, ampersands are encoded incorrectly, and there is one of those for each frame, except for one frame that has 2.

    My guess is therefore 135 errors.

     

    Ed: W3C validator says there are 134 errors.
     



  • @danguy said:

    My guess is therefore 135 errors.

     

    Ed: W3C validator says there are 134 errors.
     


    Daaaaamn... you validate waay too many pages.



  • http://www.google.com/search?q=ydreRammer

    Seems to be a popular system in Denmark! 



  • I counted 239 errors (240 if you include the meta tag in the comment). I'll recount later after I get back from school, because I think I counted twice on some tags.

    Also the Content-Type meta tag being in comments... I wonder if this really was UTF-8. And if you're going to serve as text/html, what exactly is the point of claiming to use XHTML (I say claiming to use because this monstrosity couldn't even come close to looking like XHTML, not even if you squinted and turned your head a little).

     

    Now if you'll excuse me, I need to clean up the blood from my eyes that dripped onto the floor while counting the errors (yes, I did it without the validator).



  • I don't know what the problem is, I viewed this using firefox and my HTML validator extension reported 100+ warnings, however I managed to reduce this to just 5 (less than an average DailyWTF page)... by using another firefox extension I have: IE Tab.

     

    You beauty, not so bad afterall. Assuming you have the right setup ;)



  • The errors I have found:

    1. <html> tag without xmlns, lang, or xml:lang (3 errors)
    2. <frameset> tag only has rows and cols attributes in the standard, and is in uppercase, so six errors per tag times six tags (39 errors)
    3. <frame> tags are in uppercase, have one unencoded ampersand each in the src (which is the only lowercase attribute, as well), have minimized attributes which are illegal in XHTML, and are not closed. Note that I considered each attribute with an uppercase value as two errors and the NORESIZE as two errors since it is both uppercase and minimized. 13 errors per tag times 13 tags (208 errors).
    4. One of the <frame>s has two unencoded ampersands, so add one more error (209 errors)

    209 errors total (so my original count was a little off).

    This is the third time in my entire life that HTML source code has made me weep. One was the old robotics website (FrontPage and flash, 'nuff said). The other was my mother's Myspace page. I have now confirmed in my mind that myspace must die...

    Note to self: find archived copy of website for a sidebar wtf.



  • I realize this is way late, but in Firefox, if you view source through the HTML Tidy extension instead of through the context menu, you will see that it is validating the IE Tab page it uses to load IE, not the page itself.


Log in to reply