Approximate IE6/IE7 quirks detection logic: function is_nonquirks() { if (contains("DTD HTML 4") && contains("http://")) { return true; } else if (contains("DTD HTML 4.")) { if (contains(" Transitional//") || contains(" Frameset//")) return false; return true; } else if (contains("DTD XHTML")) { return true; } else if ( contains("DOCTYPE NETSC") || contains("DTD HTML//") || contains("DTD HTML EXP") || contains("DTD W3 HTML//") || contains(" HTML 2") || contains(" HTML 3") || contains(" HTML 4") || contains(" HTML plus") ) { return false; } else { return true; } } where 'contains' is case-insensitive, and matches everything inside the (including that "doctype ").