Хорошо известно, что html5 semantic tags won't degrade gracefully in IE lesser than version 9 without some help in form of conditional javascript snippet. Это означает, что пользователи с IE7 и отключенным javascript увидят что-то уродливое, а не ваше блестящий сайт html5.Можно ли использовать обнаружение браузера на стороне сервера, чтобы обеспечить изящное ухудшение семантических тегов html5 в IE7 и IE8.
Я думал о пути решения, что и придумал следующий подход: на стороне сервера (скажем, в MVC зрения) есть что-то вроде:
OutputHtml5WithFallback("<header>MyHeader</header>", "<div>MyHeader</div>");
и иметь браузер нюхают код чтобы выяснить, пришел ли запрос от IE7 или IE8. Если браузер распознается как IE7 или IE8, выход HTML будет
<div>MyHeader</div>
иначе
<header>MyHeader</header>
Это, кажется, своего рода подмена доказательство - если браузер прикидывается IE7 он получит html5 разметки без каких-либо элементов html5. Моя самая большая проблема заключается в том, что этот подход может быть обескуражен поисковыми системами (поскольку различные html предоставляются для разных агентов пользователя).
Не могли бы вы указать на другие недостатки, которые мне могут не хватать?
хороший момент, спасибо. Я не думаю, что я отключу кэширование, чтобы иметь возможность обслуживать разную HTML-разметку для IE7. – anikiforov