11
votes

Comment ne pas charger un script dans IE?

Il est possible de charger un script seul dans IE avec des commentaires conditionnels xxx

mais si je ne voulez pas veux charger dans IE LTE 7 (mais en a encore besoin dans tous les autres navigateurs)?

Toute solution simple?

PS J'ai un problème avec SyntaxHighLighter - Trop de code ralentit IE7 et depuis que je suis à peu près le temps, j'ai décidé de l'éteindre dans IE7 pour l'instant.


1 commentaires

Utilisez-vous un langage côté serveur pour générer vos pages ou est-ce droit HTML?


7 Réponses :


18
votes

Cet article dit que vous pouvez utiliser L'opérateur ! (non) comme [si! ie]


1 commentaires

Salutations de 2014! Pour une raison quelconque [si! IE] ne semble pas fonctionner pour moi. Des pointeurs quelqu'un?



4
votes
<!--[if gte IE 7]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->

2 commentaires

Cela ne fonctionnera-t-il que sur des versions d'IE plus de 7? Firefox verra le tout comme un commentaire.


C'est un bon point, mis à jour avec une conditionnelle révélée de dorsale.



1
votes

Vous pouvez essayer de détecter le côté du serveur de navigateur, puis echo Le script approprié comprend.

Ce qui suit présente un exemple sur la détection de navigateur simpliste en PHP:

http://www.php-scripts.com/20050912/12/


0 commentaires

4
votes
<![if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]>

2 commentaires

Je ne pense pas que ce soit du code valide. Les commentaires conditionnels ne démarrent-ils pas toujours et se terminent comme des commentaires réguliers ()? Dans cet exemple: ...


Ceci est un Commentaire révélé de niveau de bas < / a> et est valable dans tous les navigateurs.



4
votes

Cette syntaxe fonctionne bien (le script ne serait pas commenté dans Firefox, chrome et ainsi de suite):

<!--[if !IE]><!-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--<![endif]-->


0 commentaires


1
votes

Étant donné que les états conditionnels ne fonctionnent pas dans IE (10,11) et uniquement IE (11) sont pris en charge par Microsoft et si tout le monde cherche toujours à exécuter une JavaScript spécifique, ce code fonctionne toujours testé dans IE (11) et Navigateurs non, Chrome, Firefox, Edge).

<script type="text/javascript">
    if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent)) 
        {document.write('<script src="../nolng/js/ex1IE.js"><\/script>');}
    else 
        {document.write('<script src="../nolng/js/ex1.js"><\/script>'); // for Chrome,Firefox,Edge}
</script>


0 commentaires