HTML5 has all sorts of great new elements such as <header>, <nav>, etc. We can finally build pages without having tons of <div class=”header”> etc, and have the terms standardized across websites.
Internet Explorer will not recognize these unofficial elements. Unlike Chrome, Firefox, Opera, and the rest of the browser world who will gladly assume the element is acceptable, and render / CSS just like any other element — Internet Explorer ignores them. If you used <header> tags on your site, Internet Explorer (yes, even 8 ) will just ignore the existence of the code.
To use this script, it must be included before the <body> element (i.e. in the <head>) but doesn’t matter if it appears before or after the CSS – but for the sake of performance, it would make better sense to include the CSS first then this script.
<!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
Note that the protocol has been removed so you don’t have to when including on an http or https page
Common question: what’s the difference between the html5shim and the html5shiv? Answer: nothing, one has an m and one has a v – that’s it.