2009-12-09 6 views
1

comment puis-je obtenir le nom du navigateur (je suis intéressé à obtenir IE7 car il crée des problèmes pour moi) en utilisant javascript?IE 7 condition avec javascript

Raison pour laquelle je veux un nom de navigateur afin que je puisse attribuer une classe à un de mes éléments de pied de page qui ne semble pas bien dans IE7.

Je veux faire cela au chargement de la page, # 1 vérifier le nom du navigateur, 2 # si IE 7 assigner la classe à l'élément ne fait rien. Est-ce la bonne approche en passant? merci

MISE À JOUR

Je HTML quelque chose comme ça

<div id="some_div"> 
some content 
</div> 

Puis-je utiliser IE commentaires conditionnels et comment? évidemment si je mets une autre div devant ou en dessous de cette div qui n'apparait que dans IE les deux divs apparaitront dans IE7 alors.

Répondre

5

Ne pas le faire avec JavaScript, faites-le avec un conditional comment:

<!--[if IE 7]> 
... some code only for IE 7 
<![endif]--> 

Alors que vous ne pouvez pas vraiment modifier la structure de votre page dans les commentaires conditionnels de la façon canonique de les utiliser est simplement d'inclure une stylesheet supplémentaires avec des corrections dans votre <head>:

#footer { 
    /* fixes here */ 
} 
+0

ok laissez-moi mettre à jour la question –

+0

+1 pour ne mentionner les règles CSS que pour IE. – Boldewyn

+0

Donc vous suggérez l'approche suivante, attachez une autre feuille de style qui sera lue seulement si IE7 est le navigateur. A l'intérieur, je devrais avoir une classe footery7, et je devrais ajouter cette classe à l'élément existant. Et dans l'ensemble la classe footerie7 n'aura pas d'effet sur les autres navigateurs sauf IE7? –

4
<!--[if IE 7]> 
<script type="text/javascript">IE7=true;</script> 
<![endif]--> 
<script type="text/javascript"> 
if (IE7) { 
    /* do fancy error correction here... */ 
} 
</script> 

Another link au sujet des commentaires conditionnels.

0

Html balisage

<!--[if IE 7]><html class="ie7"><![endif]--> 
<!--[if IE 8]><html class="ie8"><![endif]--> 
<!--[if gt IE 8]><!--><html class=""><!--<![endif]--> 

CSS

#some_div { 
    /* normal css */ 
} 

/*below css will be applied only for IE7*/ 

.ie7 #some_div { 
    /* your css for IE7 goes here */ 
} 

vous pouvez trouver plus d'informations utiles http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ ici

Hope this helps.