conditional oder js um festzustellen, ob der Benutzer auf Windows XP ist?

8

Da Windows xp bestimmte Schriftarten so schlecht darstellt, würde ich gerne feststellen, ob der Benutzer dieses Betriebssystem verwendet und dem Körper entsprechend eine Klasse hinzufügt.

Ich suche idealerweise nach einer html-bedingten Anweisung oder php $ _SERVER var, um dies zu tun

Wenn es aber nicht möglich ist, dass ein Stück von javscript in der Form von unten funktioniert,

%Vor%

Welche Wege sollte ich verfolgen? !!!

Danke!

EDIT: ZU KLAREN!

Dies ist eine weitere Entwicklung in einem Projekt, das die Webapp in schöneren Schriftarten rendert, wenn der Benutzer sie nativ installiert hat - siehe Teil meiner Lösung hier : zum Erweitern der Font-Stack-Fähigkeiten.

Zeichensätze werden auf Kombinationen von Betriebssystem und Browser unterschiedlich dargestellt, nicht Browser allein - ich möchte wissen, ob ein Benutzer auf XP ist oder nicht, weil das Rendering von Calibri so schlecht ist

    
Haroldo 18.06.2010, 07:43
quelle

6 Antworten

4

Ich stimme voll und ganz zu jAndy's Antwort , Sie sollten niemals eine Betriebssystemerkennung für eine Webanwendung benötigen, und Sie sollten selten eine Browsererkennung benötigen (die Ausnahme sind natürlich Statistiken / Analysen).

Wenn Sie darauf bestehen, dass Sie das brauchen, können Sie mit der PHP-Funktion get_browser() :

%Vor%     
Andy E 18.06.2010, 08:42
quelle
7

Es macht tatsächlich keinen Sinn zu ermitteln, welcher operating system für eine Web -Anwendung verwendet wird. Das einzige, was von Interesse sein sollte, ist Browser . Auch im Browser muss man sich nur darum kümmern, was es unterstützt und was nicht.

In JQuery können Sie die .support () , . browser () und .boxModel () Methoden für dieser Zweck.

    
jAndy 18.06.2010 07:48
quelle
2

Nun, mit PHP könntest du $_SERVER['HTTP_USER_AGENT'] benutzen. Diese Zeichenfolge enthält den Browser, aber auch das Betriebssystem. Beispiel

%Vor%

Mit der Funktion "substr" (die schneller ist) oder einem preg_match können Sie das Betriebssystem aus der Zeichenfolge extrahieren.

    
Alex Sawallich 18.06.2010 08:21
quelle
0

Sie sollten eine Überprüfung auf navigator.appVersion durchführen, die OS-Version enthält (mein Win 7 wird zu "Windows NT 6.1"):

Versuchen Sie dies in der Adressleiste Ihres Browsers, um zu sehen, welche Werte zurückgegeben werden.

%Vor%     
mamoo 18.06.2010 07:48
quelle
0

Du könntest das versuchen

%Vor%

Fügen Sie einfach die Betriebssystemnamen zum Array hinzu

    
Tom 18.06.2010 08:49
quelle
0

Sie können navigator.platform auch verwenden:

%Vor%

quirksmode.org hat eine großartige Klasse, die Sie verwenden können, um die Browserplattform hier zu finden (unten eingefügt).

Ich habe ähnliche Methoden verwendet, um CSS auf Mac-Plattformen bedingungslos einzuschließen, da Fonts auf dem Mac ziemlich unterschiedlich sein können und sogar Layouts mit ihren Größen- und Abstandsunterschieden brechen können. Ich habe es getan, weil es sehr spät im Projekt war und wir brauchen ein Pflaster. Ich bin ein Fan davon, verschiedene Seiten in verschiedenen Browsern unterschiedlich aussehen zu lassen, solange sie funktional und attraktiv bleiben. Zum Beispiel implementiere ich abgerundete Ecken nur mit CSS und deshalb werden sie im IE nicht angezeigt. Ich denke, das ist akzeptabel, aber einige nicht (schauen Sie sich quoterobot.com für ein Beispiel an - nicht meine Arbeit übrigens!). )

%Vor%     
cam8001 18.06.2010 09:03
quelle

Tags und Links