Wie erkennt JS mein Betriebssystem???
Craig Barnes
- javascript
Hallo Leute,
mir brennt da schon seit graumer zeit diese Frage unter den Nägeln:
Wie erkennt JS mein OS?
Klar, die Funktion ist klar:
if ( navigator.platform.charAt('Win') ) { var WIN = true; var OS = 'WIN' }
else if ( navigator.platform.charAt('MAC') ) { var MAC = true; var OS = 'MAC' }
else var OS = 'OTHER';
oder in einer ähnlichen Form. Nun möchte ich gerne herausfinden, woher JS diese Informationen her bezieht, und mich als WIN32-User erkennt!? Ausserdem würde ich gerne wissen, ob ich dies ändern kann und mir Seiten, die mit dieser Funktion nur für MAC's zugänglich sind, per win32-applikation anschauen kann.
Danke im voraus,
Craig
Hi Craig,
Wie erkennt JS mein OS?
Klar, die Funktion ist klar:
if ( navigator.platform.charAt('Win') ) { var WIN = true; var OS = 'WIN' }
else if ( navigator.platform.charAt('MAC') ) { var MAC = true; var OS = 'MAC' }
else var OS = 'OTHER';
oder in einer ähnlichen Form. Nun möchte ich gerne herausfinden, woher JS diese Informationen her bezieht, und mich als WIN32-User erkennt!?
Ohne ein Fachmann zu sein:
Die Info kommt vom OS, wahrscheinlich hat jedes OS wohl dafür vorgesehene System-/Environment-Variablen, auf deren Inhalt bei der JS-Abfrage zugegriffen wird.
Ausserdem würde ich gerne wissen, ob ich dies ändern kann und mir Seiten, die mit dieser Funktion nur für MAC's zugänglich sind, per win32-applikation anschauen kann.
Du könntest ein eigenes OS bzw. einen Browser schreiben ;-))
Im ernst, mit mehr oder weniger einfachen Bordmitteln geht es vermutlich nicht.
Grüße,
Martin
Tach ihr,
Wie erkennt JS mein OS?
Ohne ein Fachmann zu sein:
Die Info kommt vom OS, wahrscheinlich hat jedes OS wohl dafür vorgesehene System-/Environment-Variablen, auf deren Inhalt bei der JS-Abfrage zugegriffen wird.
Nein, das stimmt nicht wirklich. Die Information kommt einzig und allein vom Browser.
Mir ist aber kein Browser bekannt, bei dem man da irgendwas einstellen kann - zumindest keiner,
der JavaScript versteht.
Allerdings koennte man Mozilla entsprechend patchen, weil es ja OpenSource ist, allerdings
waere es mir das nicht wert (mein letzter Mozilla Build dauerte etwa 5 Stunden)
Gruesse,
Gero
Hi Gero,
Nein, das stimmt nicht wirklich. Die Information kommt einzig und allein vom Browser.
Das hätte ich nicht gedacht!
Gut, wenn ich dann noch einmal darüber nachdenke: Ist ja eigentlich bzgl. des Ergebnis gleich, ob der Browser sich diese Information durch eine Plattform-spezifische Abfrage holt oder, ob ich diesen Wert in der Plattform-spezifischen Browser-Implementation "hart" kodiere.
Bzgl. des Aufwandes ist Letzteres natürlich vorzuziehen.
Grüße,
Martin
Hi auch,
Gut, wenn ich dann noch einmal darüber nachdenke: Ist ja eigentlich
bzgl. des Ergebnis gleich, ob der Browser sich diese Information
durch eine Plattform-spezifische Abfrage holt oder, ob ich diesen
Wert in der Plattform-spezifischen Browser-Implementation "hart"
kodiere.
Ein Browser, der für eine Win32-Plattform compiliert wurde, kann sehr
einfach genau diese Information eingebrannt bekommen (bedingte Kompi-
lierung eines gemeinsamen Quelltextes).
Ob er dann aber unter Win98 oder WinNT tatsächlich läuft, könnte er
nur zur Laufzeit feststellen (lassen).
Es kommt also darauf an, wie exakt diese Information ist bzw. benötigt
wird.
Viele Grüße
Michael