Обслуживание не реагирующего css для ie8 и ниже


Мы переписываем наш веб-сайт на адаптивный дизайн (и, возможно, RESS в будущем). Аналитические данные заставляют нас поддерживать некоторые старые браузеры (ie7 и ie8).

У нас есть 2 CSS:

  1. site.css: полный css с медиа-запросами (для всех агентов, кроме ie8 и ниже)
  2. old-ie.css: полный css без медиа-запросов (для ie8 и ниже)

Мы нашли этот метод:

<!--[if (gt IE 8) | (IEMobile)]><!-->
    <link href="site.css" rel="stylesheet" />
<!--<![endif]-->
<!--[if (lt IE 9) & (!IEMobile)]>
    <link href="old-ie.css" rel="stylesheet" />
<![endif]-->

Рекомендуется ли это? (Бот Google, seo, браузер совместимость и т.д.)

Или лучше сделать обнаружение старых браузеров на стороне сервера (небольшой конечный список) и просто изменить имя css, чтобы включить его? (Плюс обслуживание html с помощью Vary: User-Agent, чтобы угодить Google)

Author: Toto, 2015-10-30

1 answers

Если вы выберете обнаружение на стороне сервера...

Преимущество обнаружения на стороне сервера заключается в том, что конечному пользователю будет доставлено меньше кода в целом, что немного ускоряет загрузку веб-страницы. Еще одно преимущество заключается в том, что не будет никаких CSS-команд, которые могли бы создать нежелательные эффекты в несовместимых браузерах.

Недостатком обнаружения на стороне сервера является то, что вам нужно написать код для обнаружения браузера и заставить его обслуживать контент в зависимости от браузера. Также, вам придется вести список браузеров, чтобы можно было загрузить соответствующий код. В зависимости от того, сколько браузеров вы планируете поддерживать, этот список может быть длинным. Я думаю, что на сегодняшний день должно быть создано не менее 50 веб-браузеров, начиная от Arachne для DOS и заканчивая Internet Explorer 3 для Windows 3.x и заканчивая Netscape, Firefox, chrome, и список можно продолжать. Кроме того, вам придется иметь дело с номерами версий, так как старые версии некоторых браузеров не поддерживают новые технологии.

Если вы не выбираете обнаружение на стороне сервера и вместо этого используете условные комментарии...

Преимущество здесь в том, что время кодирования может быть меньше, особенно если знания в области кодирования ограничены CSS и HTML, однако, условные комментарии, которые вы показываете (согласно заглушке на webpagetest.org во время тестирования веб-страницы) остановите Internet Explorer от выполнения дальнейшего кода до тех пор, пока не будет загружена таблица стилей внутри, тем самым замедляя воспринимаемую скорость загрузки.

Если у вас мало времени, затем объедините весь CSS-код вместе, а затем протестируйте его с помощью средства проверки CSS по адресу https://jigsaw.w3.org/css-validator / и попытайтесь сделать его совместимым с самым низким уровнем CSS, который вы можете. Чем ниже, тем выше вероятность того, что он будет работать с большим количеством браузеров.

Кроме того, попробуйте инструменты powermapper (на trypowermapper.com ) чтобы узнать, какие проблемы они могут найти на вашем сайте.

Но если вы просто хотите получить ответ...

Я бы пошел на сервер только ради вашего клиенты Internet Explorer, чтобы предотвратить любую блокировку.

Доказательство того, что использование условий IE - не лучшая идея

Этот совет случайно появился при тестировании моей страницы на webpagetest.org .

enter image description here

 1
Author: Mike -- No longer here, 2015-10-30 23:11:26