J'utilise les nouveaux outils de développement d' Internet Explorer 11 pour basculer le mode document sur "8", mais les commentaires conditionnels sont toujours ignorés, c'est-à-dire qu'ils ne sont pas correctement analysés et se comportent comme des commentaires normaux. Ainsi, tout fichier référencé dans le commentaire conditionnel n'est pas demandé / chargé par le navigateur.
Pourquoi cela arrive-t-il? Est-ce un bug?
Si vous pensez qu'il s'agit effectivement d'un bogue qui doit être corrigé, veuillez indiquer que vous pouvez également le reproduire dans le rapport de bogue Microsoft signalé pour ce problème: les
commentaires conditionnels ne fonctionnent pas lors de l'émulation des modes de document via F12 Developer Outils .
Mise à jour: ce problème a été signalé comme corrigé dans le rapport de bogue mentionné.
la source
Réponses:
selon la
Jacob Rossi [MSFT]
Cela a été publié le 22 avril 2014.
En exécutant moi-même quelques tests, il semble que cela ait été corrigé et que tout fonctionne à nouveau correctement pour tester le navigateur le plus étonnant jamais produit ... Internet Explorer!
la source
J'ai juste essayé de l'utiliser dans Internet Explorer 11 sur Windows 7 pour m'assurer que mes éléments sémantiques HTML5 utilisés étaient créés pour Internet Explorer 8 et inférieurs (via des commentaires conditionnels), et le navigateur les ignore tout simplement. -_-
Cette fonctionnalité fonctionnait parfaitement dans Internet Explorer 10 , et Microsoft a juste dû la bricoler, n'est-ce pas?
En dehors de cela, j'apprécie réellement Internet Explorer, ce qui apporte un changement.
la source
Cela a fonctionné pour moi et semble être la solution la plus élégante / facile ( Internet Explorer 10 et Internet Explorer 11, je suppose, sont les seuls navigateurs qui prennent en charge
-ms-high-contract
):la source
J'ai récemment rencontré le même problème. J'ai également constaté que certains commentaires conditionnels fonctionnent:
gt
etlt
a bien fonctionnégte
etlte
n'a jamais travailléUne solution potentielle serait donc de changer les instructions conditionnelles pour utiliser les opérateurs
gt
etlt
.L'autre alternative, que j'ai trouvée plus utile, était d'utiliser un service tel que Browserstack .
la source
J'ai une autre solution pour cela.
Internet Explorer 11 avec le mode de compatibilité Internet Explorer 8 activé contient la chaîne «MSIE 8.0», donc:
(Exemple PHP)
la source
J'ai eu le même problème - cela m'a rendu fou toute la matinée. J'ai ajouté Modernizr et j'ai sélectionné toutes les options, y compris yepnope.js.
Alors maintenant, mon test ressemble à ceci:
Dans ce cas, je teste le canevas (qui n'est pas pris en charge avant Internet Explorer 9), donc je charge mon contenu conditionnel. Cela fonctionne désormais lors du changement de mode de navigateur dans les outils de développement Internet Explorer 11.
la source
Je ne l'ai pas vu mentionné ici, mais dans ce rapport de bogue, il est noté que, si vous modifiez les paramètres d'affichage de compatibilité, les commentaires conditionnels fonctionnent comme prévu. Alors:
Semble fonctionner correctement maintenant sur mon hôte local. Je n'ai pas testé cela de manière approfondie mais peut-être que cela aidera quelqu'un.
la source
Certains des commentaires conditionnels fonctionnent comme «
gt
» et «lt
», mais par exemple<!--[if IE 8]>
ne fonctionnent pas. Ce n'est certainement pas pratique pour les développeurs qui souhaitent essayer l'apparence de leurs pages Web sur différentes versions des navigateurs Internet Explorer, mais ce n'est pas une mauvaise nouvelle.Bien que les commentaires conditionnels ne fonctionnent pas, vous pouvez toujours tester l'apparence de votre page Web dans chacune des versions d'Internet Explorer en ajoutant les feuilles de style une à la fois: disons que vous avez une feuille de style pour Firefox, Chrome, Internet Explorer 10 et Internet Explorer 11 appelé «
screen.css
», et une autre feuille de style UNIQUEMENT pour Internet Explorer 9 appelée «screen-ie9.css
» et une autre UNIQUEMENT pour Internet Explorer 8 appelée «screen-ie8.css
».Pour tester vos pages Web UNIQUEMENT pour Internet Explorer 9, vous pouvez procéder comme suit:
et dans les outils de développement F12, section Émulation, définissez le «Mode document» sur «9» et la «Chaîne de l'agent utilisateur» sur «Internet Explorer 9». Le mode document est la norme utilisée par Internet Explorer 9 et la chaîne de l'agent utilisateur est le navigateur lui-même.
PS: Je suppose que «
screen.css
» est votre feuille de style de base, raison pour laquelle je l'appelle d'abord plutôt que «écraser» les corrections d'Internet Explorer 9 plus tard en appelant «screen-ie9.css
» en second.En faisant cela, vous pouvez être "sûr" (je dois tester avec des machines virtuelles pour écrire le mot "sûr" sans guillemets) que vous visualisez votre page Web sur un navigateur Internet Explorer 9. Lorsque vous avez terminé les tests et le style sur Internet Explorer 9 et que vous souhaitez tester avec Internet Explorer 8, vous pouvez facilement faire la même astuce en remplaçant ceci:
avec ça:
Donc, ce n'est qu'une question de désagréments MINEURS du côté de Microsoft, MAIS les nouveaux outils des développeurs F12 offrent BEAUCOUP de fonctionnalités étonnantes, ce qui en fait pas un gros problème.
la source