2012-10-17 5 views
2

Y at-il un équivalent en PHP pour la syntaxe HTML:"si IE IE 9" équivalent en PHP?

<!--[if lt IE 9]> 
    <script src="/js/html5/html5shiv.js"></script> 
<![endif]--> 

?

+1

De manière générale, il n'est pas utile de faire la détection du navigateur côté serveur, quelle est votre utilisation? – Quentin

+0

Nous voulons ajouter du code JS en fonction de la version IE, et comme notre framework a sa propre façon d'inclure des fichiers javascript et du code js, je veux éviter de mettre les lignes ci-dessus dans notre modèle d'en-tête. – Simon

+0

Faire de ce côté client avec des commentaires conditionnels est la méthode la plus fiable. Il vaudrait mieux utiliser la détection de fonctionnalités au lieu de la détection du navigateur. – Quentin

Répondre

6

Utiliser la fonction php native get_browser();

Et lisez ceci post. Essayez ce code:

$browser = get_browser(); 

    switch ($browser->browser) { 
     case "IE": 
      switch ($browser->majorver) { 
       case 6: 
       case 5: 
        echo '<link href="ie5plus.css" rel="stylesheet" type="text/css" />'; 
        break; 
       case 9: 
        echo '<link href="ie5plus.css" rel="stylesheet" type="text/css" />'; 
        break; 
       default: 
        echo '<link href="ieold.css" rel="stylesheet" type="text/css" />'; 
      } 

      break; 
} 
+0

approuvant cette réponse parce qu'elle répond à la question, même si j'ai résolu le problème d'une autre manière. – Simon

+0

)) Postez votre chemin – RDK

0

Lire à propos de $_SERVER opportunités. Plus précisément, $_SERVER['HTTP_USER_AGENT']. Vous pouvez également détecter le navigateur en utilisant Javascript et l'envoyer à votre code PHP côté serveur en utilisant AJAX

+0

if (strpos ($ _ SERVER ['HTTP_USER_AGENT'], 'MSIE')! == false) détecte si c'est IE. Mais comment vérifier si c'est inférieur à IE9? – Simon

+3

C'est pourquoi la détection côté client est meilleure. – itachi

1

Vous pouvez faire la détection d'agent utilisateur en PHP manuellement en utilisant $_SERVER['HTTP_USER_AGENT'], ou vous pouvez utiliser une solution prête à l'emploi comme get_browser (qui Certes, c'est une sorte de tracas à mettre en place).

Cependant, habituellement, il n'y a pas beaucoup à gagner à faire cela sur le serveur (bien qu'il y ait des cas légitimes, j'ai dû le faire moi-même). Peut-être que vous pouvez atteindre l'objectif du côté du client?