Homepagebau
Dateiversion:
diesen Beitrag diskutieren,
ergänzen, eine Frage stellen
Menü einblenden
 

Browsercheck

Schwierigkeit: für Fortgeschrittene

 

Beispiel für Browsercheck (öffnen einer browserspezifischen Seite):


Beschreibung:

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.


Das Navigator-Objekt:

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 Opera
Versionsnummer (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)

 

Die Daten ihres Browsers:

ihr Browser:
navigator.appName
Browserversion:
(aus and. String extrahiert)
Browser Code-Basis:
navigator.appCodeName
ihr Betriebsystem:
navigator.platform
(hier aus navigator.appVersion)
kompletter String:
navigator.appVersion
detailierte Info:
navigator.userAgent
Cookies sind:
navigator.cookiesEnabled
Java ist:
navigator.javaEnabled()
installierte Plugins:
navigator.plugins[]

(nur Netscape/Opera)