让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)


Posted in HTML / CSS onApril 08, 2014

如今HTML5愈来愈引发大家的关注了,但目前支持HTML5的浏览器还不是主流,特别是国内用户近50%以上仍旧使用IE6,由于支持HTML5的IE9不支持Xp系统安装,这样未来很长一段时间,HTML5的开发者将必须考虑向下兼容的问题。HTML5的标签或CSS选择器兼容性的做法有很多,其中自己生成标签元素就是一种。

基本原理参见如下代码在IE8中效果,样式根本没有起作用。

复制代码
代码如下:

<html>
<head>
<style>mxria{ color: red; }</style>
</head>
<body>
<mxria>Hello!</mxria>
</body>
</html>

让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)

为了是浏览器识别<mxria></mxria>标签并显示对应样式的效果,我们可以如下增加一段js,看到效果就不同了

复制代码
代码如下:

<html>
<head>
<style> mxria{ color: red; }</style>
<script>document.createElement("mxria")</script>
</head>
<body>
<mxria>Hello!mxria.com</mxria>
</body>
</html>

让ie浏览器成为支持html5的浏览器的解决方法(使用html5shiv)

现在大家明白了其中的奥妙吧!对,就是document.createElement  ,HTML5 shiv就是这样一个js插件,将所有HTML5的标签进行了重新生成,你需要加载该插件,那么HTML5程序就能被所有浏览器识别了。
下载地址:http://html5shim.googlecode.com/svn/trunk/html5.js

trunk/html5.js简单使用方法:

下面是引用Google的html5.js文件:

html5shiv的使用非常的简单,考虑到IE9是支持html5的,所以只需要在页面head中添加如下代码即可:

复制代码
代码如下:

<!--[if lt IE 9]>
<script src="dist/html5shiv.js"></script>
<![endif]-->

将上代码复制到head部分,记住一定要是head部分(因为IE必须在元素解析前知道这个元素,所以这个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])}})()
最后在css里面加上这段:

/*html5*/ article,aside,dialog,footer,header,section,footer,nav,figure,menu{display:block}
主要是让这些html5标签成块状,像div那样。

好了,简单吧,一句话概括就是:引用html5.js  使html5标签成块状

HTML / CSS 相关文章推荐
纯CSS3实现8组超炫酷鼠标滑过图片动画
Mar 16 HTML / CSS
CSS3 3D旋转rotate效果实例介绍
May 03 HTML / CSS
详解css3 Transition属性(平滑过渡菜单栏案例)
Sep 05 HTML / CSS
详解如何在css中引入自定义字体(font-face)
May 17 HTML / CSS
CSS3 input框的实现代码类似Google登录的动画效果
Aug 04 HTML / CSS
利用html5 file api读取本地文件示例(如图片、PDF等)
Mar 07 HTML / CSS
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
Jan 30 HTML / CSS
html5 video标签屏蔽右键视频另存为的js代码
Nov 12 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
深入解析HTML5中的Blob对象的使用
Sep 08 HTML / CSS
canvas生成带二维码海报的踩坑记录
Sep 11 HTML / CSS
z-index不起作用
Mar 31 HTML / CSS
为你的html5网页添加音效示例
Apr 03 #HTML / CSS
使用jquery实现HTML5响应式导航菜单教程
Apr 02 #HTML / CSS
简单html5代码获取地理位置
Mar 31 #HTML / CSS
HTML5注册页面示例代码
Mar 27 #HTML / CSS
html5实现微信打飞机游戏
Mar 27 #HTML / CSS
html5 canvas fillRect坐标和大小的问题解决方法
Mar 26 #HTML / CSS
html5适合移动应用开发的12大特性
Mar 19 #HTML / CSS
You might like
PHP的substr_replace将指定两位置之间的字符替换为*号
2011/05/04 PHP
Yii操作数据库的3种方法
2014/03/11 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
JavaScript中实现最高效的数组乱序方法
2014/10/11 Javascript
jQuery中width()方法用法实例
2014/12/24 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
浅谈js基本数据类型和typeof
2016/08/09 Javascript
setTimeout函数的神奇使用
2017/02/26 Javascript
js 调用百度分享功能
2017/02/27 Javascript
Ionic2调用本地SQlite实例
2017/04/22 Javascript
原生JS实现N级菜单的代码
2017/05/21 Javascript
React入门教程之Hello World以及环境搭建详解
2017/07/11 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
使用jQuery实现购物车结算功能
2017/08/15 jQuery
微信小程序之swiper轮播图中的图片自适应高度的方法
2018/04/23 Javascript
vue-router中scrollBehavior的巧妙用法
2018/07/09 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
python pickle 和 shelve模块的用法
2013/09/16 Python
Golang与python线程详解及简单实例
2017/04/27 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
使用python分析统计自己微信朋友的信息
2019/07/19 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
python爬取”顶点小说网“《纯阳剑尊》的示例代码
2020/10/16 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
人事主管岗位职责范本
2013/12/04 职场文书
英语系毕业生求职信
2014/07/13 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
高中团支书竞选稿
2015/11/21 职场文书