让IE8支持HTML5及canvas功能!

微软出的IE9支持HTML5,但因为不支持XP系统,暂时我还用不了。

即使能用,现阶段如果开发HTML5页面,并考虑到兼容性问题的话,恐怕也得让自己的界面支持IE6-8吧。

首先,需要让IE支持HTML5标签。这个简单,随便在网上搜一下就能找到。下载一个html5.js,并拷贝到自己的目录里就可以了。

现在写一段简单代码,其功能是在页面上放置一个canvas,并画一个红色圆圈。

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <HTML>
 3  <HEAD>
 4   <TITLE> IE8支持HTML5+CSS3 </TITLE>
 5 <head>
 6
 7 <style type="text/css">
 8 body {
 9     background: #444;
10     color: #FFF;
11     font-family: Helvetica, Arial, sans-serif;
12     text-align: center;
13 }
14
15 #cv {
16     width: 600px; height: 400px;
17     background: #000;
18     border-radius: 20px;
19     padding: 20px;
20     margin: 20px auto;
21     box-shadow: 0 0 40px #222;
22 }
23 </style>
24
25 <script type="text/javascript">
26 function test() {
27 var ctx = document.getElementById("cv").getContext("2d");
28
29   ctx.fillStyle = "#aa0000";
30   ctx.beginPath();
31   ctx.arc(100, 100, 25, 0, Math.PI*2, true);
32   ctx.closePath();
33   ctx.fill();
34 }
35
36 window.onload = test;
37  </script>
38
39 </head>
40
41 <body>
42 <canvas id="cv"></canvas>
43 </body>

段代码,在遨游和Firefox上,都可以用。但在IE8里,不但什么都没有,下面状态栏里还会显示黄色小叹号,点开,告诉我们,ctx根本没取到canvas。

第一步,我们加上对html5的支持。

<!--[if IE]>
    <script src="/public/html5.js" type="text/javascript"></script>
<![endif]-->

现在再看,会出现一个黑漆漆的框框,说明IE8已经认识canvas标签了。但红圈圈还是没出来,下面状态栏仍然提示我们JS里压根没取到canvas。这说明IE还只是认识了canvas是个合法标签而已,至于怎么处理它,对不起,俺还不会。

第二步,加上对canvas的支持。

下载excanvas_r3.zip,解压后,把excanvas.compiled.js拷贝到自己的目录里,引用它。现在看看,哈,一个红色圈圈出现了!js works!

<!--[if IE]>
    <script type="text/javascript" src="/public/html5.js"></script>
    <script type="text/javascript" src="/public/excanvas.compiled.js"></script>
<![endif]-->

如果您足够细心,您会发现,样式表中存在这么两行:

    border-radius: 20px;
    box-shadow: 0 0 40px #222;

这是CSS3的样式哦!border-radius说明我们要的黑框框四周应该是圆角才对,但现在却四愣八插的;box-shadow那儿还有shadow呢。。。

下面是第三步,让IE支持CSS3。在cv选择器的最后,增加一句话

behavior: url(/public/ie-css3.htc);

#cv {
    width: 600px; height: 400px;
    background: #000;
    border-radius: 20px;
    padding: 20px;
    margin: 20px auto;
    box-shadow: 0 0 40px #222;
    behavior: url(/public/ie-css3.htc);
}

其中,ie-css3.htc去 http://fetchak.com/ie-css3/ 下载,具体它能够支持多少CSS3特性,网站说的很清楚,我就不费口舌了。

最后,在我们下载了三个文件,增加了三句话之后,看看效果吧。嘻嘻!

时间: 2024-09-30 15:52:44

让IE8支持HTML5及canvas功能!的相关文章

让IE8支持html5中的video标签

这是一篇综合几个前辈的解决方案. 使用video的时候,要遇到的问题. ①不兼容ie9及其以下版本 在<head>里添加两行, 参考张鑫旭前辈的博客,但是在ie8中薄播放. <!--[if lt IE 9]> <script src="js/assets/js/ie8-responsive-file-warning.js"></script> <![endif]--> <script src="js/asset

让IE6/IE7/IE8支持HTML5标签的js代码方法

让IE(ie6/ie7/ie8)支持HTML5元素,我们需要在HTML头部添加以下JavaScript,这是一个简单的document.createElement声明,利用条件注释针对IE来调用这个js文件.Opera,FireFox等其他非IE浏览器就会忽视这段代码,也不会存在http请求. 方式一:引用google的html5.js文件,代码内容可以自己下载下来看. <!–[if lt IE9]> <script src="http://html5shiv.googleco

html5shiv.js让吃屎的IE6、IE7、IE8支持html5去吧

插件介绍 用于解决IE9以下版本浏览器对HTML5新增标签不识别,并导致CSS不起作用的问题.所以我们在使用过程中,想要让低版本的浏览器,即IE9以下的浏览器支持,那么这款html5shiv.js是一个非常好的选择! 上面这段代码仅会在IE浏览器下运行,还有一点需要注意,在页面中调用Html5.js文件必须添加在页面的head元素内,因为IE浏览器必须在元素解析前知道这个元素,所以这个js文件不能在页面底部调用. 使用方法 <!--[if lt IE 9]> <script type=&

让IE6\IE7\IE8支持HTML5标签

<!–[if IE]> <script src=”http://html5shiv.googlecode.com/svn/trunk/html5.js”></script> < ![endif]–> 引用以上google的JS(下载下来引用本地的也一样的)放在页面的head区域,注意一定要放在head区域不然将会失效,因为必须在浏览器解析这个元素前执行这个JS,所以不能放在页面的其他地方.最后在css申明下这些H5的标签article,aside,dialo

HTML5的新增功能

下面是介绍的HTML5的新功能: HTML5是HTML4的升级版本,相比于后者,HTML5增加了Web网页的表现力,同时也增加了表单.本地数据等全新功能,对于我们网站的建设是一个全新的体验,也是一个机遇,因为HTML5里面众多功能的创新以及改革对于我们未来网站建设是一个很好的指引. 一 HTML5出现了新的 <canvas>标记 Flash各位站长都知道,这是一个让大家很头疼的东西,有些站长为了使自己的画面更加华丽动感,所以就 在首页中加载了各种各样的Flash视频,这样一来,网页效果虽然得到

HTML5之Canvas画布

先上代码: <canvas width="1000" height="800">浏览器不支持HTML5!</canvas> <script type="text/javascript"> var canvas = document.querySelector("canvas"); var context = canvas.getContext('2d'); // 设置阴影 context.s

让IE系列支持HTML5的html5shiv.js和respond.min.js

在head头部添加如下代码即可 <!-- html5shiv.js和respond.js IE8支持HTML5元素和媒体查询 --><!--[if lt IE 9]> <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="https://oss.maxcdn.com/respond/1.4.2

ie8下面版本号(包含ie8)的浏览器不支持html5标签属性解决方式(Modernizr 2.6.2插件的使用)

我这边申明下:我写这篇日志主要是想然ie8可以支持html5的个别标签闭合,并不能让ie全然支持html5.我之前写的可能会误导非常多同学.希望大家能明确. 今天脑抽想用html5标签设计一个网页.我本人用的是火狐浏览器,都弄好后我发现一个非常严重的问题.除了ie9下面的浏览器都不能支持html5标签(article,aside,dialog,footer,header,section,footer,nav,figure,menu). 我上网找了好多中方法.有网友说使用 <!--[if lt I

ie8以下版本(包括ie8)的浏览器不支持html5标签属性解决方案(Modernizr 2.6.2插件的使用)

今天脑抽想用html5标签设计一个网页,我本人用的是火狐浏览器,都弄好后我发现一个很严重的问题,除了ie9以下的浏览器都不能支持html5标签(article,aside,dialog,footer,header,section,footer,nav,figure,menu). 我上网找了好多中方法,有网友说使用 <!--[if lt IE9]> <script> (function() { if (! /*@[email protected]*/ 0) return; var e