Bonjour a tous.
Je vais la faire courte. Comme tout le monde ici (je suppose), je suis confronter a quelques soucis d'affichage des elements de mon site en fonction du naviguateur.
En gros Gecko ne rends pas la meme chose que IE.
Alors pour contourner le problème j'ai utiliser une méthode simple, en javascipt, pour que IE utilise une CSS particuliaire. Ca fonctionne très bien, je n'ai plus de soucis, juste que mon bout de script n'est pas valide XHTML selon le validateur du W3C.
Voici le script en question :
Fonctionnement, j'interroge le client avec "navigator.appName" et si la réponse est 'Microsoft Internet Explorer', javascript écrit a la volée les liens qui pointent sur les CSS pour IE, dans le cas contraire il ecrit les liens qui pointent vers les CSS pour les autres naviguateurs.
Comme je le disais, pas de soucis ca fonctionne avec IE7, Ffox 1.5 et sup ............
Mon seul problème est que ce n'est pas valide.
Est ce que quelqun c'est déjà pencher sur le problème ? Y a t'il eventuellement une autre solution plus perenne a laquelle je n'ai pas songer ?
Ca m'ennui vraiment d'avoir une erreur a chaque ligne du script.
L'erreur est simple, le validateur me reponds :
Line 30 column 113: document type does not allow element "link" here.
...ie.css' type='text/css' media='all' />");
Comme si ma declaration n'étais pas entre les balises <head> mais entre les balises <body>
Modifié par AddiKTiV (17 May 2007 - 13:47)
Je vais la faire courte. Comme tout le monde ici (je suppose), je suis confronter a quelques soucis d'affichage des elements de mon site en fonction du naviguateur.
En gros Gecko ne rends pas la meme chose que IE.
Alors pour contourner le problème j'ai utiliser une méthode simple, en javascipt, pour que IE utilise une CSS particuliaire. Ca fonctionne très bien, je n'ai plus de soucis, juste que mon bout de script n'est pas valide XHTML selon le validateur du W3C.
Voici le script en question :
<script type="text/javascript">
var navig = navigator.appName;
if (navig == 'Microsoft Internet Explorer')
{
document.write("<link rel='stylesheet' href='css/abc_ie.css' type='text/css' media='all' />");
document.write("<link rel='stylesheet' href='css/abc2_ie.css' type='text/css' media='all' />");
document.write("<link rel='stylesheet' href='css/abc3_ie.css' type='text/css' media='all' />");
document.write("<link rel='stylesheet' href='css/abc4_ie.css' type='text/css' media='all' />");
}
else
{
document.write("<link rel='stylesheet' href='css/abc_autre.css' type='text/css' media='all' />");
document.write("<link rel='stylesheet' href='css/abc2_autre.css' type='text/css' media='all' />");
document.write("<link rel='stylesheet' href='css/abc3_autre.css' type='text/css' media='all' />");
document.write("<link rel='stylesheet' href='css/abc4_autre.css' type='text/css' media='all' />");
}
</script>
Fonctionnement, j'interroge le client avec "navigator.appName" et si la réponse est 'Microsoft Internet Explorer', javascript écrit a la volée les liens qui pointent sur les CSS pour IE, dans le cas contraire il ecrit les liens qui pointent vers les CSS pour les autres naviguateurs.
Comme je le disais, pas de soucis ca fonctionne avec IE7, Ffox 1.5 et sup ............
Mon seul problème est que ce n'est pas valide.
Est ce que quelqun c'est déjà pencher sur le problème ? Y a t'il eventuellement une autre solution plus perenne a laquelle je n'ai pas songer ?
Ca m'ennui vraiment d'avoir une erreur a chaque ligne du script.
L'erreur est simple, le validateur me reponds :
Line 30 column 113: document type does not allow element "link" here.
...ie.css' type='text/css' media='all' />");
Comme si ma declaration n'étais pas entre les balises <head> mais entre les balises <body>
Modifié par AddiKTiV (17 May 2007 - 13:47)