HTML5 и IE

Оказывается, есть немного кривой, но способ заставить IE показывать незнакомые ему теги в глобальном namespace! В частности, это поможет уже сейчас использовать семантические теги из HTML5.

Решение основано на интересном хаке:

Btw, if you want CSS rules to apply to unknown elements in IE, you just have to do document.createElement(elementName). This somehow lets the CSS engine know that elements with that name exist.
Есть другое решение, но оно требует использования namespace. В IE есть всеми забытая технология custom tags. Когда появился черновик HTML5 я пытался использовать её, чтобы внедрить в документ новые теги:
<html xmlns:html5="http://www.w3.org/html/wg/html5/">
<head>
<style type="text/css">
html5\:footer {
	display: block;
	border: 1px solid black;
	padding: 10px; 
}
</style>
</head>
<body>
<html5:footer>This is footer!</html5:footer>
</body>
</html>
Не совсем то, что нужно, если не использовать сторонние средства. Если использовать, то для альтернативного браузера можно оставлять как есть, а для правильных — вычищать ненужное пространство заменой на уровне веб-сервера (делать это не нужно, так как современные браузеры и без этого поймут такой тег, но это как-то более аккуратно).

Далее дело техники. Например, если взять Nginx, в нём есть модули rewrite, browser и sub. Первый умеет выполнять условия, второй — определять браузеры, третий — заменять одну строку на другую. Получается что-то подобное:
modern_browser  msie  1.0;

if ($ancient_browser) {
    sub_filter 'html5:' ''
}
Надо сразу оговориться, что это не готовое решение, а намётки: кроме «html5:» надо так же вычистить «html5\:».
21 августа 2008 14:22

0range (0range.ru)
21 августа 2008, 16:08

мда :)) помоему это через жопу слишком проще жабаскриптом создавать помоему :)
ну тип того http://imfo.ru/archive/2008/01/24/ie_html5_createelement

bolk (bolknote.ru)
21 августа 2008, 17:03, ответ предназначен 0range (0range.ru):

Я понял какой JS ты имеешь ввиду. Проще, на самом деле, не трогать пространство имён и всё.

Сергей (инкогнито)
29 января 2011, 19:18

Есть modernizr.js (http://www.modernizr.com/)
Он как раз использует такой способ для внедрения тегов HTML5 в IE.

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)