A Simple HTML5 Fix for IE
Internet Explorer up to version 8.0 (it is fixed in 9.0) can’t read HTML5 tags properly. In recent projects I used modernizr to fix this. But since I don’t need all the features modernizr provides all the time, this is an expensive (slow) extra HTTP call in the header which prevents the content from beeing loaded.
I wrote a simple solution which works well in Internet Explorer 6.0/7.0/8.0 (have a look at the IE test page).
<script>
for(var e,l='article aside footer header nav section time'
.split(' '
);e=l.pop();document.createElement(e))
</script>
Do you have any shorter piece of code? I love to hear from you.
(You could more more HTML5 element types. My typical list is: article aside figcaption figure footer header hgroup nav section time
)
Update: A Shorter Version is Possible (February 16th, 2011)
Paul Irish sent me an even shorter version:
<script>
'article aside footer header nav section time'
.replace(/\w+/g,function(n){document.createElement(n)})
</script>
(Thanks to remy, porneL, jdalton, community.)