e64c2151c465158914d22c704c5c09b2f971fdfc tdreszer Tue Apr 26 16:54:24 2011 -0700 If browser is IE and not version 8, then revert to DOCTYPE 3.2. diff --git src/lib/htmshell.c src/lib/htmshell.c index bf7c6e0..b13cdbc 100644 --- src/lib/htmshell.c +++ src/lib/htmshell.c @@ -373,38 +373,44 @@ if(domain != NULL) printf("domain=%s; ", domain); if(isSecure == TRUE) printf("secure"); printf("\n"); } void _htmStartWithHead(FILE *f, char *head, char *title, boolean printDocType, int dirDepth) /* Write out bits of header that both stand-alone .htmls * and CGI returned .htmls need, including optional head info */ { if (printDocType) + { //#define TOO_TIMID_FOR_CURRENT_HTML_STANDARDS #ifdef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n", f); #else///ifndef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS + char *browserVersion; + if (btIE == cgiClientBrowser(&browserVersion, NULL, NULL) && *browserVersion != '8') + fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">\n", f); + else fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">",f); // Strict would be nice since it fixes atleast one IE problem (use of :hover CSS pseudoclass) //fputs("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">\n",f); #endif///ndef TOO_TIMID_FOR_CURRENT_HTML_STANDARDS + } fputs("<HTML>", f); fprintf(f,"<HEAD>\n%s<TITLE>%s</TITLE>\n", head, title); fprintf(f, "\t<META http-equiv=\"Content-Script-Type\" content=\"text/javascript\">\n"); if (htmlStyle != NULL) fputs(htmlStyle, f); fputs("</HEAD>\n\n",f); fputs("<BODY",f); if (htmlBackground != NULL ) fprintf(f, " BACKGROUND=\"%s\"", htmlBackground); if (gotBgColor) fprintf(f, " BGCOLOR=\"%X\"", htmlBgColor); fputs(">\n",f); htmlWarnBoxSetup(f); }