讓IE8支持HTML5及canvas功能!

讓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特性,網站說的很清楚,我就不費口舌了。

 

最後,在我們下載了三個文件,增加了三句話之後,看看效果吧。嘻嘻!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章