Counter mit JS: welches Betriebssystem?

franzlst

Mitglied
Hi!

Ich habe mit JS und PHP (MySQL) einen Counter "gebastelt", der auch (fast) perfekt funktioniert.

Mit
HTML:
var betr = navigator.platform;
lese ich den Browsernamen ein.
Jedoch habe ich dann bei Windows, egal welche Version, immer nur die Angabe "Win32".

Gibt es eine Möglichkeit, das Betriebssystem detailierter in Erfahrung zu bringen?

Evtl über
HTML:
var navvers = navigator.appVersion;
?
Da werde ich aber auch nicht viel schlauer draus. Hier, beispielhaft, ein gelieferter Wert:
4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Was bedeutet 4.0?
Was ist mit compatible gemeint?
MSIE 5.01 is klar (Internet Explorer 5.01)
Aber was ist dann wieder Windows NT 5.0? Steht bei jedem Betriebssystem Win32 da, auch wenn das Betriebssystem kein NT ist.

Vielen Dank schonmal für eure Hilfe
 
appVersion ist da schon das besser.....Windows NT 5.0 ist dabei das maximale, was du an Info erhältst(frag mich aber nicht, was für ein WIN da nun hintersteckt...da müsst ich erst mal nachschauen, was die jeweiligen Strings bedeuten)....
bei mir würde da auf jeden Fall 4.0 (compatible; MSIE 5.5; Windows 98) erscheinen....schon etwas aussagekräftiger :)

Wenn du das aber mit PHP machst, frage lieber $_SERVER['HTTP_USER_AGENT'] ab....das liefert das selbe, damit bist du aber nicht vom aktiviertem JS abhängig.
 
So, hab mich mal bei Awstats bedient(operating_systems.pm)....dies sollte mehr Licht ins Dunkel bringen:
Code:
<script type="text/javascript">
<!--
strNav=navigator.userAgent;

arrOs=
[
["windows[_+ ]?2005","Windows Longhorn"],
['windows[_+ ]nt[_+ ]6\.0','Windows Longhorn'],
['windows[_+ ]?2003','Windows 2003'],
['windows[_+ ]nt[_+ ]5\.2','Windows 2003'],
['windows[_+ ]xp',' Windows XP'],
['windows[_+ ]nt[_+ ]5\.1','Windows XP'],
['windows[_+ ]me','Windows ME'],
['win[_+ ]9x','Windows ME'],
['windows[_+ ]?2000','Windows 2000'],
['windows[_+ ]nt[_+ ]5','Windows 2000'],
['winnt','Windows NT'],
['windows[_+ \-]?nt','Windows NT'],
['win32','Windows NT'],
['win(.*)98','Windows 98'],
['win(.*)95','Windows 95'],
['win(.*)16','Windows 3.xx'],
['windows[_+ ]3','Windows 3.xx'],
['win(.*)ce','Windows CE'],
['mac[_+ ]os[_+ ]x','Mac OS X'],
['mac[_+ ]?p','Mac OS'],
['mac[_+ ]68','Mac OS'],
['macweb','Mac OS'],
['macintosh','Mac OS'],
['linux','Linux'],
['aix','Aix'],
['sunos','Sun Solaris'],
['irix','Irix'],
['osf','OSF Unix'],
['hp-ux','HP Unix'],
['netbsd','NetBSD'],
['bsdi','BSDi'],
['freebsd','FreeBSD'],
['openbsd','OpenBSD'],
['gnu','GNU'],
['unix','Unix'],
['x11','Unix'],
['beos','BeOS'],
['os/2','OS/2'],
['amiga','AmigaOS'],
['atari','Atari'],
['vms','VMS'],
['cp/m','CPM'],
['crayos','CrayOS'],
['dreamcast','Dreamcast'],
['risc[_+ ]?os','RISC OS'],
['symbian','Symbian OS'],
['webtv','WebTV'],
['(.*)','Unbekanntes OS']
];

for(j=0;j<arrOs.length;++j)
    {
    if(strNav.match(new RegExp(arrOs[j][0],'i')))
        {
        alert(arrOs[j][1]);
        break;
        }
    }
//-->
</script>
....den Array kannst du auch für PHP benutzen....das erste Element ist immer der reguläre Ausdruck, welcher in der Browserkennung gesucht wird....das zweite der Name des OS.
 
Zuletzt bearbeitet:
Zurück