2010-01-29 6 views

Répondre

6

en Javascript:

http://www.quirksmode.org/js/detect.html

Aucune méthode est parfaite, car l'utilisateur peut toujours usurper l'agent utilisateur.

Je recommande que:

1) Auto-rediriger vers une page avec le lien, ou auto mettre à jour le lien sur une page avec du texte en disant « Télécharger pour Mac » ou « Téléchargement pour Windows », de sorte que l'utilisateur sait ce qu'ils obtiennent avant de cliquer. 2) Donnez toujours à l'utilisateur la possibilité de télécharger l'autre version, au cas où votre détection ne fonctionnerait pas dans leur cas, ou si vous voulez télécharger sur une machine distante, et la transférer sur une autre machine plus tard.

1

Non fiable à 100%, mais vous pouvez en déduire beaucoup de user-agent string dans l'entête HTTP.

+0

@Mitch, mais le navigateur peut * mentir * sur la chaîne user-agent, n'est-ce pas? – Graviton

+1

Étant donné une motivation suffisante, un client réseau peut mentir à propos de n'importe quoi. Il n'y a rien d'intrinsèque à un paquet réseau vu par un serveur qui dit «mac» ou «windows», du moins rien qui ne puisse être falsifié. – Jherico

+2

et l'avantage d'essayer d'usurper un site Web afin que vous obteniez le mauvais téléchargement serait quoi, exactement? – DOK

0

Vous devez utiliser navigator.platform ou analyser navigator.userAgent. Example.

1

Vous voulez regarder l'agent utilisateur trouvé dans l'en-tête http.

User Agent

2

Il est facilement usurpée, mais vous pouvez prendre une assez bonne estimation par examing la chaîne de l'agent utilisateur. Vous pouvez le faire en JavaScript ou dans la langue de votre serveur. Comme vous pouvez le détecter de manière incorrecte, placez quelque part un "Voulez la version de Mac OS X" etc quelque part.

Questions connexes