转 http://www.zenjs.com/relate/2011/0419/4189.html
html5.js 让所有IE支持HTML5 html5.js必须在页面head元素内调用(因为IE必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。)
自从HTML5能为我们的新网页带来更高效洁净的代码而得到更多的关注,然而唯一能让IE识别那些新元素(如 article)的途径是使用HTML5 shiv,感谢remy sharp为我们提供了这个迷你脚本来解决IE支持HTML5的问题。 使用和下载 html5.js必须在页面head元素内调用(因为IE
自从HTML5能为我们的新网页带来更高效洁净的代码而得到更多的关注,然而唯一能让IE识别那些新元素(如<article>)的途径是使用HTML5 shiv,感谢remy sharp为我们提供了这个迷你脚本来解决IE支持HTML5的问题。
使用和下载 html5.js必须在页面head元素内调用(因为IE必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。) 作者已经把js文件放在Google code project上并允许大家直接调用,当然,前提是你不在意调用额外的文件。
http://html5shiv.googlecode.com/svn/trunk/html5.js 你可以使用IE条件注释来调用这个js文件,这样像FireFox等非IE浏览器就会忽视这段代码,也就不会有无谓的http请求了。下面这段代码仅会在IE浏览器下运行:
<!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> 当然如果你不喜欢调用外网文件,你也可以下载下来上传到自己的服务器单独调用(作者允许)。
以下是js文件中的代码:
(function(){if(!/*@cc_on!@*/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(e[i])}})()
PS:所有新增标记,在不支持它们的浏览器上,需要为其重新定义相关表现形式,例如他们都是块状态(display:block;)。
(责任编辑:admin)