Замедляют ли условные комментарии IE загрузку страницы?

StackOverflow https://stackoverflow.com/questions/1825392

Вопрос

У меня были " CSS-хаки " vs " Условные комментарии " В последнее время я много раз спорил, что я решил выбросить этот вопрос в сообщество Stack Overflow.

<!--[if IE]>
 <link type="text/css" rel="stylesheet" href="ie-specific.css" /> 
<![endif]-->

Основной аргумент против , использующий условные комментарии IE, заключается в том, что вы добавляете дополнительные HTTP-запросы к каждой загрузке страницы, тем самым замедляя отображение вашей страницы. То, что я не смог найти, - это какие-либо реальные метрики, подтверждающие или опровергающие это утверждение.

Оставляя в стороне аргумент обслуживания нескольких таблиц стилей против одной таблицы стилей (хотя это само по себе является правильным обсуждением), кто-нибудь здесь проводил какое-либо тестирование, чтобы определить, насколько замедление с помощью условных комментариев дает вам, или в состоянии указать мне направление на любую статистику, которую кто-либо еще собрал?

Это было полезно?

Решение

Это не действительно об условных комментариях как таковых, это как условная компиляция.

Браузер IE увидит вашу страницу как включающую

<link type="text/css" rel="stylesheet" href="ie-specific.css" /> 

(с небольшим количеством дополнительной обработки для оценки условия комментария).

Браузер без IE просто увидит там комментарий.

Таким образом, единственное потенциальное влияние на производительность - то, что браузеры IE должны будут оценить условие условного комментария (которое будет незначительным), а затем включить другой файл CSS. Хотя, конечно, другие браузеры просто видят общий файл и полностью игнорируют комментарий.

Тогда возникает вопрос: в чем плюсы и минусы предоставления IE (скажем) 5Kb-совместимого CSS-файла, за которым следует (скажем) 2Kb «хаки»? файл, и все остальные получают только файл 5 КБ; против того, чтобы обслуживать каждого 7Kb файл с хитрым CSS в нем. В зависимости от различных факторов, включая скорость и задержку в сети, размер файла, количество ресурсов, используемых на странице в целом, и т. Д., Это может или не может оказать заметного влияния на производительность в случае IE (это, несомненно, будет быстрее для пользовательских агентов не из IE).

Как и во всех вопросах производительности, вам придется профилировать свой код в своей среде, чтобы увидеть, как это повлияет, но в качестве общего руководства я бы ожидал, что влияние будет незначительным для IE, небольшое увеличение производительности для всех других браузеров, а также нечеткое ощущение возможности писать "правильно" CSS в вашем текущем файле, а затем исправьте IE отдельно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top