2010-06-29 3 views
1

J'ai la page pour laquelle je veux charger contenu différent pour différents navigateurs.Si IE alors inclure le fichier [A] else fichier d'inclusion [B]

Exemple:

IF Internet explorer 

{include file="/content1.tpl"} 

ELSE if any other browser 

    {include file="/content2.tpl"} 

{/if} 

Content1.tpl & Contenu 2.tpl sont deux fichiers différents ayant leur respecté Html & CSS.

Comment puis-je y parvenir en utilisant Javascript OU php?

Merci,

  • Mandar

EDIT

Ce que je veux est, IE complètement négligence content2.tpl

& Mozilla ou autre complètement négligence content1.tpl

+5

** Ne comptez pas sur la chaîne d'agent utilisateur ** !!! Très mauvaise approche. – galambalazs

Répondre

2

Ce travail:

<!--[if IE]> 
{include file="/content1.tpl"}  
<![endif]--> 

<![if !IE]> 
{include file="/content2.tpl"} 
<![endif]> 

Regardez HERE pour plus de détails.

2

en PHP vous pourriez regarder le superglobale nommé _SERVER $. Là, sous la clé HTTP_USER_AGENT vous trouverez le navigateur.

Cela sera calculé côté serveur, en utilisant PHP et Smarty.

En Javascript, utilisez this

en HTML, vous pouvez utiliser this syntax

10

N'utilisez pas PHP pour cela. Vous êtes beaucoup plus sûr de le faire au niveau du navigateur, de préférence en utilisant conditional comments. Vous cannot trust the HTTP_USER_AGENT car il est très facile de forger/modifier de sorte que vous ne pouvez pas avec confiance (et donc ne devriez pas) prendre des décisions en fonction de sa valeur. S'en tenir à un fichier .tpl et soit inclure une feuille de style spécifique basée sur un commentaire conditionnel ou ajouter un balisage supplémentaire en utilisant ces commentaires.Par exemple, vous pouvez ajouter des balises supplémentaires comme celui-ci, puis cibler en conséquence:

<html> 
<body> 
<!--[if IE 6]><div id="ie6"><![endif]--> 
... main content here 
<!--[if IE 6]></div><![endif]--> 
</body> 
</html> 
+0

Ce que je veux est, IE de négliger complètement content2.tpl & Mozilla ou autres à négliger complètement content1.tpl – MANnDAaR

+0

@manndaar - il n'y a pas de façon fiable de faire cela – robjmills

0

Cela devrait fonctionner:

<script type = " javascript" > 
if (navigator.appName == "Microsoft Internet Explorer") 
{ 
    /* 
     do something 
    */ 
} 
else 
{ 
    /* 
     do something else 
    */ 
} 
</script> 
2
<!--[if IE]> 
{include file="/content1.tpl"}  
<![endif]--> 

<comment> 
{include file="/content2.tpl"} 
</comment> 

Internet Explorer ignore les <comment></comment> balises comme si elles étaient des commentaires standard, mais tous les autres navigateurs les lire comme le code normal. C'est génial pour cacher le code non-IE.

Questions connexes