Homepagebau |
|
|||||
Browsercheck
Schwierigkeit: für Fortgeschrittene
Beispiel für Browsercheck (öffnen einer
browserspezifischen Seite):
Das leidige Thema - ihre Homepage sieht im Internet Explorer toll aus. Dann starten sie Netscape oder Opera und erkennen die gleiche Homepage nicht wieder. Dieser Abschnitt beschäftigt sich mit dem Erkennen eines Browser und der installierten Plugins.
Bestimmte Eigenschaften des Browser lassen sich in JavaScript über das Objekt "Navigator" abfragen.
wir erzeugen für dieses Beispiel ein neues Objekt, das wir zum speichern der Eigenschaften nutzen
var Browser = new Object();
Browsercheck:
if (navigator.appName == "Netscape") { Browser.type = "Netscape Browser" }
else if (navigator.appName == "Microsoft Internet Explorer") { Browser.type = "Microsoft Browser" }Hinweis:
Unterschiedliche Kodierungen der Eigenschaft "appVersion":
Netscape
und OperaVersionsnummer (Betriebsystem; Spracheeinstellungen)
z.Bsp: 5.0 (Windows; de-DE)Microsoft Nummer der kompatiblen Netscapeversion (Kompatibilität; Versionsnummer; Betriebsystem; installierte Patches)
z.Bsp: 4.0 (compatible; MSIE 6.0; Windows 98; ABC01234)Browserversion prüfen:
Netscape:
var y = navigator.appVersion.indexOf("(");
Browser.version = navigator.appVersion.substring(0,y);
Microsoft:
var x = navigator.appVersion.indexOf("MSIE")+5;
var y = navigator.appVersion.indexOf(";", x);
Browser.version = navigator.appVersion.substring(x, y);Der MS-Browser speichert an der 1. Stelle die Version des Netscape Navigators, zu der er kompatibel ist.
Der MSIE 6.0 liefert beispielsweise 4 und nicht 6. Allerdings ist die korrekte Versionsnummer als "MSIE 6.0" im Rückgabestring enthalten. Diesen Teilstring muss man folglich extrahieren, um die Versionsnummer herauszufinden.Betriebsystem prüfen:
var x = navigator.appVersion.indexOf("(")+1;
var y = navigator.appVersion.indexOf(")");
Browser.id = navigator.appVersion.substring(x,y).split(";");Netscape:
Browser.system = Browser.id[0];
Microsoft:
Browser.system = Browser.id[2];Hinweis:
Unterschiedliche Kodierungen der Betriebsysteme (Beispiele):
Windows 3.1x Windows 95 Windows 98 MacOS Unix Netscape Win16 Win95 (NN 3.x) Windows (NN 6.0) Mac X11 Opera - ? Windows 98 - - Microsoft - Windows 95 Windows 98 - - installierte Plugins:
(nur Netscape/Opera)
for (var i=0; i<navigator.plugins.length; i++) {
Browser.plugin[i] = navigator.plugins[i].name;
}Um zu prüfen, ob ein bestimmtes Plugin installiert ist, benutzen sie folgende alternative Syntax:
Beispiel:
var ShockwaveInstalliert = (navigator.plugins["Shockwave"] != null);
Sie können außerdem vorab prüfen, ob Cookies vom Browser gestattet werden oder ob Java aktiviert ist.
Cookies:
var CookiesAktiviert = navigator.cookieEnabled;
Rückgabewert: "true" falls ja, "false" falls nein
Java:
var JavaAktiviert = navigator.javaEnabled();
Hinweis: das ist eine Methode, keine Eigenschaft des Navigator-Objekts. Sie liefert "true" falls Java aktiviert ist und "false" falls nicht.
weitere Optionen:
appCodeName
gibt den "Namen" des zugrunde liegenden Codes des Browsers an (für IE, Netsc. und Opera = "Mozilla") appMinorVersion
gibt die Browserrevisionsnummer an - also zum Bsp. bei "IE 6.1" die Zahl 1 browserLanguage
die im Browser eingestellte Sprache (z.Bsp.: Deutsch = "de") cpuClass
liefert einen String zurück, der die Art der verwendeten CPU beschreibt (bei IBM kompatiblen PCs ist das "x86") onLine
gibt den Online-Status ihres Browser an und liefert "true" wenn sie offline sind und "false" wenn dem nicht so ist platform
gibt an, welche Art Betriebssystem installiert ist (für Windows = "Win32" - siehe "Betriebssystem prüfen") systemLanguage
gibt Auskunft über die eingestellte Landessprache ihres Systems userAgent
liefert detaillierte Informationen über den verwendeten Browser userLanguage
gibt Auskunft über die Landessprache ihrer Betriebssystemversion (wahrscheinlich nur für Microsoft selbst interessant)
Autor: Thomas Meyer |
Home: www.All-Community.de |
Kontakt: |