modernizr для поддержки медиазапросов ie8 - PullRequest
5 голосов
/ 15 октября 2011

Я смотрю на использование modernizr для поддержки медиазапроса в ie8. Не могли бы вы привести пример для реализации того же.

Я также посмотрел на Respond.js, но нашел его немного сложным со всеми вещами CDN.

Любые другие предложения также будут оценены.

Ответы [ 3 ]

11 голосов
/ 15 октября 2011

Respond.js обязателен, если вы хотите использовать медиазапросы в IE8. Это полизаполнение, которое разрешает медиазапросы для браузера.

Modernizr предлагает тестирование только для медиазапросов. Согласно документу, в старом неподдерживающем браузере тест всегда будет возвращать false.

Еще одна альтернатива - adapt.js , созданная Натаном Смитом, создателем системы сетки 960gs.

Обновление: Modernizr теперь добавляет поддержку тегов html5 в более старой версии IE, как указано в doc

3 голосов
/ 15 октября 2011

Modernizr не добавляет функциональности в браузер; он просто определяет, поддерживает ли браузер определенные функции, и поэтому позволяет вашему сайту определить, нужно ли ему использовать хак с полифиллом для этой функции.

Поэтому вы должны использовать Modernizr, чтобы узнать, нужно ли вам использовать Respond.js или нет.

Веб-сайт Modernizr включает страницу, на которой перечислены все известные им хаки полифилов , поэтому, если вы недовольны Respond.js, вы можете попробовать поискать альтернативные варианты. имеется в наличии. Глядя на страницу, я вижу, что в разделе «Медиазапросы» перечислены еще несколько, так что вы можете попробовать их.

Однако я скажу, что Respond.js действительно является единственным сценарием, который в настоящее время рекомендуется для такого рода вещей. Я не пробовал перечисленные другие, поэтому не могу их сравнить, но могу сказать, что Respond.js работает так, как он работает по уважительной причине.

Причина, по которой у Respond.js есть эти сложные междоменные проблемы, заключается в том, что единственный способ для него работать с браузерами, которые не понимают медиазапросы, - это снова загрузить всю таблицу стилей и обработать ее с помощью Javascript. Но модели безопасности браузера не нравится, что вы делаете подобные вещи с удаленно загружаемыми скриптами.

Как я уже сказал, я не работал ни с одним из альтернативных сценариев, но я предполагаю, что они будут страдать от аналогичных проблем из-за того, как они должны будут работать, чтобы заставить медиазапросы работать над браузер, который их не поддерживает.

Самый простой способ справиться с этим - просто поместить скрипт response.js в тот же домен, что и остальная часть вашего сайта, а не загружать его из отдельного домена. Это полностью исключает необходимость решения проблемы CDN.

Надеюсь, это поможет.

0 голосов
/ 17 октября 2011

Медиа-запросы не поддерживаются в Internet Explorer 8. Также с Modernizr это не будет работать.Modernizr не добавляет функциональности в браузер.И почему вы хотите добавить медиа-запросы в ie8?Медиа-запросы сделаны для мобильных сайтов.Медиа-запросы не предназначены для настольных браузеров.

...