微软的最新浏览器IE8及以下IE版本对HTML5标签的支持是有限的,我们可以通过在网页中添加脚本的方式来解决目前IE浏览器对HTML5支持的问题。
让IE(包括IE6)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement_x声明,利用条件注释针对IE来调用这个js文件。Opera,FireFox等其他非IE浏览器就会忽视这段代码,也不会存在http请求。
<!–[if IE]> <script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script> <![endif]–>
上面这段代码仅会在IE浏览器下运行,还有一点需要注意,在页面中调用html5.js文件必须添加在页面的head元素内,因为IE浏览器必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。
这个html5的js文件是作者把他放在Google code project上提供给大家可以直接调用的,当然,如果觉得这样会影响你的网页打开速度,你可以把html5的js文件直接下载下来让后上传到自己的服务器单独调用。
以下是html5的js文件中的代码:
(function(){if(!0)return;var e = “abbr,article,aside,audio,canvas,datalist,details,dialog, eventsource,figure,footer,header,hgroup,mark,menu,meter,nav, output,progress,section, time,video”.split(’,'),i=e.length;while(i–){document.createElement_x(e[i])}})()
除了在网页中调用包含以上代码的js文件来让IE浏览器支持HTML5元素以外,你也可以以下面这种方式把代码直接添加到网页中。
<!–[if IE]> <script> (function(){if(e = “abbr,article,aside,audio,canvas,datalist,details,dialog, eventsource,figure,footer,header,hgroup,mark,menu,meter,nav, output,progress,section, time,video”.split(’,'),i=e.length;while(i–){document.createElement_x(e[i])}})() </script> <![endif]–>