Alexander (HH): CSS-Menü mit JavaScript unterstützen

Beitrag lesen

// Diese Funktion ermittelt den Namen des verwendeten Browsers

Falsch, das macht navigator.userAgent.

// *****************************************************************************
function getBrowser() {

var isIE = ( (document.all) && (window.offscreenBuffering) ) ? true : false;
var isNN = ( (document.captureEvents) && (!document.getElementById) ) ? true : false;
var isMOZ = ( (document.getElementById) && (!document.all) && (document.documentElement) ) ? true : false;
var isOP = ( (document.getElementById) && (navigator.userAgent.indexOf('Opera') != -1) ) ? true : false;

  
Dieses Herumgerate versucht aufgrund von ganzen vier Eigenschaften, alle Browser der Welt zu klassifizieren. So etwas muß schon im Ansatz scheitern. Dieses Stück Cargo Cult mag vor Jahren mal funktioniert haben, als nur zwei oder drei Browser überhaupt Javascript implementiert hatten und in nur je zwei oder drei Versionen exisitierten. Um nur mal zwei Probleme dieses Scriptes anzukratzen: Safari wird überhaupt nicht "erkannt", und aktuelle Netscape-Browser werden nicht als Netscape-Browser "erkannt".  
  
Der saubere Weg ist, diejenigen Browserfähigkeiten zu testen, die man wirklich braucht. Im dümmsten Fall:  
  
~~~javascript
  
if (!document.getElementById || !window.disableAllSecurityChecks) {  
  alert("Sorry, dieser Browser unterstützt document.getElementById() bzw. window.disableAllSecurityChecks() nicht.");  
  return;  
}  
window.disableAllSecurityChecks();  
var e=document.getElementById("haha");  
e.style.display="block";  

Alexander