2009-05-13 5 views

Antwort

2

Nein, tut es nicht; Sie müssen, wie folgt:

<? 
function checkIEFail() { 
    $ua = $_SERVER['HTTP_USER_AGENT']; 
    if(strpos($ua, 'Mozilla/4.0 (compatible; MSIE ') !== 0 || strpos($ua, 'Opera') !== false) 
     return false; 
    $version = floatval(substr($ua, 30)); 
    return $version < 6 || ($version == 6 && strpos($ua, 'SV1') === false); 
} 

if(!checkIEFail()) 
    ob_start('ob_gzhandler'); 
?> 
+0

Die Verwendung von '! == 0' und'! == false' verwirrte mich für ein paar Minuten! Das ist nicht der lesbarste Code, aber ich bin mir ziemlich sicher, dass es funktioniert. Irgendeine Idee, wie viel Prozent der Browser diesen Test erfüllen? Ist es niedrig genug, um es nicht mehr zu unterstützen, frage ich mich? – Liam

+0

IE6 hat immer noch 7,1% Marktanteil, das ist * eine Menge * Leute, wenn Sie srs bzns tun, vielleicht sonst ignorierbar. Keine Ahnung wie viel davon das hat und hat nicht SV1. – chaos