CSS selon OS [Résolu]

Signaler
Messages postés
4
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2008
-
Messages postés
4
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2008
-
Bonsoir.


Je suis sous Mac Os et la plupart de mes amis sous Windows.

Mon site utilise la police Trebuchet MS qui rend extrêmement bien chez moi mais qui est moche chez eux.

J'aimerais donc pouvoir leur mettre une autre police, juste pour eux.


J'ai trouvé ça sur http://www.trucsweb.com,
mais je ne sais pas l'adapter simplement pour Windows et Mac Os (le
navigateur m'importe peu, c'est juste pour la police que je fais ça) :

<script type="text/javascript" language="javascript">

<!--

// *************************************

// Teste le navigateur et la plate-forme

// Affiche le code qui appelle la bonne

// feuille de styles (CSS)

// http://www.trucsweb.com

// *************************************

// MODIFIER ICI LE CHEMIN D'ACCÈS (PATH)

// de vos documents CSS et le nom des

// différents fichiers.

// *************************************


var nPath = "http://www.serveur.com/css/"


aFichiersCss = new fait_Array(17);


// Css par défaut, ne rien mettre si aucun

// Ce sera le style si rien n'est détecté.

aFichiersCss[0] = "style.css";


// Window Netscape

aFichiersCss[1] = "winnav6.css";

aFichiersCss[2] = "winnav4.css";

aFichiersCss[3] = "winnav3.css";


// Window Internet Explorer

aFichiersCss[4] = "winie5.css";

aFichiersCss[5] = "winie4.css";

aFichiersCss[6] = "winie3.css";


// Window Opera

aFichiersCss[7] = "winopera.css";


// Macintosh Netscape

aFichiersCss[8] = "macnav6.css";

aFichiersCss[9] = "macnav4.css";

aFichiersCss[10] = "macnav3.css";


// Macintosh Internet Explorer

aFichiersCss[11] = "macie5.css";

aFichiersCss[12] = "macie4.css";

aFichiersCss[13] = "macie3.css";


// Macintosh Opera

aFichiersCss[14] = "macopera.css";


// Linux Netscape

aFichiersCss[15] = "lixnav6.css";

aFichiersCss[16] = "lixnav4.css";

aFichiersCss[17] = "lixnav3.css";

// *************************************


function fait_Array(n) {

  this.length = n;

  return this;

}

var nCss = 0;

var user_agent=navigator.userAgent.toLowerCase();

var nav_version = navigator.appVersion.toLowerCase();

var nav_minor = parseFloat(nav_version);

var nav_major = parseInt(nav_minor);

var iePos = nav_version.indexOf('msie');

if (iePos !=-1) {

  nav_minor = parseFloat(nav_version.substring(iePos+5,nav_version.indexOf(';',iePos)))

  nav_major = parseInt(nav_minor);

}

var nav6Pos = user_agent.indexOf('netscape6');

if (nav6Pos !=-1) {

  nav_minor = parseFloat(user_agent.substring(nav6Pos+10))

  nav_major = parseInt(nav_minor)

}

var nav_nav = ((user_agent.indexOf('mozilla')!=-1) && (user_agent.indexOf('spoofer')==-1)

  && (user_agent.indexOf('compatible') == -1) && (user_agent.indexOf('opera')==-1)

  && (user_agent.indexOf('webtv')==-1));

var nav_nav3 (nav_nav && (nav_major 3));

var nav_nav4up = (nav_nav && (nav_major >= 4));

var nav_nav6up = (nav_nav && nav_minor >= 6);

var nav_ie = (iePos!=-1);

var nav_ie3 = (nav_ie && (nav_major < 4));

var nav_ie4up = (nav_ie && nav_minor >= 4);

var nav_ie5up = (nav_ie && nav_minor >= 5);

var nav_opera = (user_agent.indexOf("opera") != -1);

var nav_win = ( (user_agent.indexOf("win")!=-1) || (user_agent.indexOf("16bit")!=-1) );

var nav_mac = (user_agent.indexOf("mac")!=-1);

var nav_linux = (user_agent.indexOf("inux")!=-1);


if (nav_win){

  if (nav_nav6up) nCss = 1;

    else if (nav_nav4up) nCss = 2;

    else if (nav_nav3) nCss = 3;

    else if (nav_ie5up) nCss = 4;

    else if (nav_ie4up) nCss = 5;

    else if (nav_ie3) nCss = 6;

    else if (nav_opera) nCss = 7;

} else if (nav_mac) {

  if (nav_nav6up) nCss = 8;

    else if (nav_nav4up) nCss = 9;

    else if (nav_nav3) nCss = 10;

    else if (nav_ie5up) nCss = 11;

    else if (nav_ie4up) nCss = 12;

    else if (nav_ie3) nCss = 13;

    else if (nav_opera) nCss = 14;

} else if (nav_linux) {

  if (nav_nav6up) nCss = 15;

    else if (nav_nav4up) nCss = 16;

    else if (nav_nav3) nCss = 17;

}


if (aFichiersCss[nCss].length > 1) {

  document.write("<link rel="stylesheet" href=""+nPath+aFichiersCss[nCss]+"" type="text/css" />");

}

// -->

</script>


Sauriez-vous m'aider ?


Je l'espère.


Cordialement,


Tredorgoth

- - - - - -
VISTA : Virus Inside Switch To Apple

8 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
bonjour,
je crois que coté javascript ( hors activeX ou autres ),
    ça ne va pas être simple de déterminer l'OS
distinguer les navigateurs, foultitudes de possibilités.
choisis donc une font kivabien pour tous.... non ?
Cordialement         Bul [mon Site] [M'écrire]         
Messages postés
1782
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
14 janvier 2021
115
suinon il y a navigator.platform qui retourne Win32 pour windows
petit exemple compatible tous navigateurs

<html>
<head>
<title>systeme</title>
</head>

appuyez

</html>
Messages postés
1782
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
14 janvier 2021
115
en imaginant que tu ai deux feuilles de style differentes une pour safari et une pour les autres navigateurs

<script type="text/javascript" language="javascript">
if(navigator.vendor!=null && (navigator.vendor.substring(0,3)=="App")){
document.write("<link rel='stylesheet' href='repertoire/styleSafari.css' type='text/css'>");

}
 else {

  document.write("<link rel='stylesheet' href='repertoire/styleautre.css' type='text/css'>");

}
</script>
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
32
Salut kazma,

Le problème c'est qu'il ne veut pas une feuille de style par navigateur mais par OS (Windows vista, xp, linux, mac, etc...)

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
4
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2008

Exactement :)
Apparemment, ce n'est pas facile. :/
Messages postés
4
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2008

Je crois que c'est ce que je vais faire, tant pis.
Merci quand même :)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
kazma a ( peut-être ? ) raison !

navigator.platform = sous quel type de système d'exploitation le navigateur tourne chez l'utilisateur

          Bul [mon Site] [M'écrire]         
Messages postés
4
Date d'inscription
samedi 1 novembre 2008
Statut
Membre
Dernière intervention
2 novembre 2008

Hmm, merci beaucoup, voilà une idée à creuser !