5 votes

support de modernizr pour ie8 media query

Je cherche à utiliser modernizr pour supporter media query dans ie8. Pourriez-vous me fournir un exemple de mise en œuvre ?

J'ai également jeté un coup d'œil à Respond.js, mais je l'ai trouvé un peu complexe avec tous les trucs de CDN.

Toute autre suggestion serait également appréciée.

11voto

Jonathan Liuti Points 666

Respond.js est obligatoire si vous voulez utiliser les mediaqueries dans IE8. Il s'agit du polyfill qui active les media queries pour le navigateur.

Modernizr ne propose que des tests pour les mediaqueries. Selon la documentation, dans les anciens navigateurs non supportés, le test retournera toujours false.

Une autre alternative est adapt.js par Nathan Smith, créateur du système de grille 960gs.

Mise à jour : Modernizr ajoute maintenant la prise en charge des balises html5 dans les anciennes versions d'IE, comme indiqué dans la lettre d'information de la Commission européenne. doc

3voto

Spudley Points 85371

Modernizr n'ajoute pas de fonctionnalité au navigateur ; il détecte simplement si le navigateur prend en charge une certaine fonctionnalité, et permet donc à votre site de déterminer s'il doit utiliser un hack polyfill pour cette fonctionnalité.

Vous utiliserez donc Modernizr pour savoir si vous devez utiliser Respond.js ou non.

Le site web Modernizr comprend une page qui liste tous les hacks polyfill qu'ils connaissent Donc, si vous n'êtes pas satisfait de Respond.js, vous pouvez essayer de regarder ici pour voir quelles sont les alternatives disponibles. En regardant la page, je vois qu'il y en a quelques autres listées dans la section "Media Queries", donc vous pourriez les essayer.

Cependant, je dirai que Respond.js semble être le seul script qui est actuellement recommandé pour ce genre de chose. Je n'ai pas essayé les autres cités, donc je ne peux pas les comparer, mais je peux dire que Respond.js fonctionne comme il le fait pour une bonne raison.

La raison pour laquelle Respond.js présente ces problèmes complexes d'inter-domaines est que la seule façon pour lui de fonctionner avec les navigateurs qui ne comprennent pas les media queries est de recharger toute la feuille de style et de la traiter en utilisant Javascript. Mais le modèle de sécurité du navigateur n'aime pas que vous fassiez ce genre de choses avec des scripts chargés à distance.

Comme je l'ai dit, je n'ai pas travaillé avec l'un des scripts alternatifs, mais je suppose qu'ils souffriraient de problèmes similaires, en raison de la façon dont ils devraient travailler pour que les media queries fonctionnent sur un navigateur qui ne les supporte pas.

La façon la plus simple de traiter ce problème est simplement de placer le script respond.js dans le même domaine que le reste de votre site plutôt que de le charger depuis un domaine distinct. Cela permet de contourner complètement la nécessité de traiter la question du CDN.

J'espère que cela vous aidera.

-7voto

Mike Vierwind Points 634

Les requêtes média ne sont pas prises en charge dans Internet Explorer 8. De plus, avec modernizr, cela ne va pas fonctionner. Modernizr n'ajoute pas de fonctionnalité au navigateur. Et pourquoi voulez-vous ajouter des media queries dans ie8 ? Les requêtes média sont faites pour les sites web mobiles. Les requêtes média ne sont pas faites pour les navigateurs de bureau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X