让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字体效果的设置方法小结
Jun 13 HTML / CSS
css3 给页面加个半圆形导航条主要利用旋转和倾斜样式
Feb 10 HTML / CSS
CSS3,线性渐变(linear-gradient)的使用总结
Jan 09 HTML / CSS
使用HTML5的链接预取功能(link prefetching)给网站提速
Dec 13 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
Aug 26 HTML / CSS
HTML5 Canvas锯齿图代码实例
Apr 10 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
Jan 01 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
Jul 07 HTML / CSS
详解HTML5将footer置于页面最底部的方法(CSS+JS)
Oct 11 HTML / CSS
HTML5如何使用SVG的方法示例
Jan 11 HTML / CSS
3种方式实现瀑布流布局小结
Sep 05 HTML / CSS
CSS 还能这样玩?奇思妙想渐变的艺术
Apr 27 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
PHP4实际应用经验篇(6)
2006/10/09 PHP
php中几种常见安全设置详解
2010/04/06 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
jquery 实现返回顶部功能
2014/11/17 Javascript
JQuery中DOM事件绑定用法详解
2015/06/13 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
javascript cookie基础应用之记录用户名的方法
2016/09/20 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
js省市区级联查询(插件版&amp;无插件版)
2017/03/21 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
Vue项目History模式404问题解决方法
2018/10/31 Javascript
详解小程序云开发数据库
2019/05/20 Javascript
详解NodeJs项目 CentOs linux服务器线上部署
2019/09/16 NodeJs
解决Vue打包上线之后部分CSS不生效的问题
2019/11/12 Javascript
python中pip的安装与使用教程
2018/08/10 Python
设置python3为默认python的方法
2018/10/31 Python
python reverse反转部分数组的实例
2018/12/13 Python
在django模板中实现超链接配置
2019/08/21 Python
Python分割训练集和测试集的方法示例
2019/09/19 Python
Python urllib.request对象案例解析
2020/05/11 Python
python 制作python包,封装成可用模块教程
2020/07/13 Python
Champion官网:美国冠军运动服装
2017/01/25 全球购物
2014年小学教师工作总结
2014/11/10 职场文书
2014年质量工作总结
2014/11/22 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
2014司机年终工作总结
2014/12/05 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server