关注前端开发/网页设计/网站可用性/用户体验,暴风彬彬的趣味互联网生活…
自从HTML5能为我们的新网页带来更高效洁净的代码而得到更多的关注,然而唯一能让IE识别那些新元素(如<article>)的途径是使用HTML5 shiv,感谢remy sharp为我们提供了这个迷你脚本来解决IE支持HTML5的问题。
您还可以参考以下HTML5相关教程及资源:
《一起感受HTML5和CSS3的能量》
html5.js必须在页面head元素内调用(因为IE必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用。)
作者已经把js文件放在Google code project上并允许大家直接调用,当然,前提是你不在意调用额外的文件。
http://html5shiv.googlecode.com/svn/trunk/html5.js
你可以使用IE条件注释来调用这个js文件,这样像FireFox等非IE浏览器就会忽视这段代码,也就不会有无谓的http请求了。下面这段代码仅会在IE浏览器下运行:
1 2 3 | <!--[if IE]> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> |
当然如果你不喜欢调用外网文件,你也可以下载下来上传到自己的服务器单独调用(作者允许)。
以下是js文件中的代码:
1 | (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])}})() |
英文原文:JavaScript and the DOM Series: Lesson 1
翻译原文:让所有IE支持HTML5的解决方案(彬Go)
11 条 关于 "让所有IE支持HTML5的解决方案" 的评论
代码会出现运行错误提示
@楼上的
代码已测试,没有问题,请检查自己操作是否有误。
[...] with Google Chrome: It reminded me that last week I was experimenting with HTML5 , CSS3 , and 让所有IE支持HTML5的解决方案 – blog.bingo929.com 10/13/2009 [...]
是个好东西啊,提前进入Html5的时代了呵呵,CSS3能支持吗?
非常好!但是只是支持代码中加的那些标签。
扩展了一下,支持任意标签
var ss= document.styleSheets[0];
var rules = ss.cssRules ? ss.cssRules : ss.rules;
for(var i = 0;i < rules.length;i++) {
var tags = rules[i].selectorText.split(' ');
for(index in tags) {
var tag = tags[index];
if(/\w/.test(tag)) document.createElement(tag);
}
}
例如css里定义
footer1
{
color:#0CC;
}
代码中写
color
就能应用样式。
代码具体没有测试,不知道会有什么问题。
想问下 彬go ,html4 的标签都有默认的css样式,html5中的元素如何去重构喃?
嗯,果然不錯!的確可以~
想问下 貌似支持不了视频代码啊 video
[...] 让所有IE支持HTML5的解决方案 (8) [...]
[...] and the DOM Series: Lesson 1 翻译原文:让所有IE支持HTML5的解决方案(彬Go) 转载声明: [...]
[...] 让所有IE支持HTML5的解决方案 (9) [...]
我要评论 >>