使ie9以下版本支持canvas,css3等主流html5技术的方法

时间:2023-03-09 08:46:39
使ie9以下版本支持canvas,css3等主流html5技术的方法
1.前言。 
  ie6,7,8支持html5,看起来比较难,其实有一种方法很通用,就是引入js和css,这种可插拔的引入对开发很有帮助。比如,下面是一个让网页支持canvas和css3的例子。 
2.例子。 
下面是一个在canvas画布中显示一个红球的例子的html.
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <HTML>
  3. <HEAD>
  4. <TITLE> fewfwe</TITLE>
  5. <head>
  6. <style type="text/css">
  7. body {
  8. background: #444;
  9. color: #FFF;
  10. font-family: Helvetica, Arial, sans-serif;
  11. text-align: center;
  12. }
  13. #cv {
  14. width: 600px; height: 400px;
  15. background: #000;
  16. border-radius: 20px;
  17. padding: 20px;
  18. margin: 20px auto;
  19. box-shadow: 0 0 40px #222;
  20. behavior: url(public/ie-css3.htc);
  21. }
  22. </style>
  23. <script type="text/javascript">
  24. function test() {
  25. var ctx = document.getElementById("cv").getContext("2d");
  26. ctx.fillStyle = "#aa0000";
  27. ctx.beginPath();
  28. ctx.arc(100, 100, 25, 0, Math.PI*2, true);
  29. ctx.closePath();
  30. ctx.fill();
  31. }
  32. window.onload = test;
  33. </script>
  34. </head>
  35. <body>
  36. <!--[if IE]>
  37. <script src="public/html5.js" type="text/javascript"></script>
  38. <script type="text/javascript" src="public/excanvas.compiled.js"></script>
  39. <![endif]-->
  40. <canvas id="cv"></canvas>
  41. </body>

这个例子在ie8不能运行,火狐可以。如果要它能在ie6,7,8能运行,那么需要做两件事情。 
2.1增加一个html5的ie辅助js文件和一个canvas兼容js文件 
  这个文件可命名为html5.js,这是一个开源的js文件,可以放心使用,它主要是解决了了6,7,8兼容html5的js的问题。canvas兼容文件命名为excanvas.compiled.js,所有文件我已经打包在demo里面。可以下载。 
2.2.增加一个css文件和在页面进行引用。 
  css文件命名为ie-css3.htc,它解决了ie6,7,8,兼容css3的问题。 
3.demo下载。 
见附件。 
4.例子运行结果 
见下面这张图片。是一个红色的圆圈,显示在黑色的画布上面。

5.总结 
   ie6,7,8 兼容其他html5技术的做法,其实都可以效仿引用js和css的做法。这样,便为html5在移动端驰骋,扫清了最后一丝障碍。