1.在使用HTML5的Canvas元素时,考虑到有些浏览器不支持canvas元素,或是不支持HTML5 Canvas API中的某些特性,开发人员最好提供一份替代代码。
以下代码展示如何在canvas中指定替代文本,当浏览器不支持canvas的时候会显示这些替代内容:
<canvas>Update your browser to enjoy canvas!</canvas>
2.检测浏览器的支持情况
在创建HTML5 canvas元素之前,首先要确保浏览器能够支持它。可以使用一下代码检测:
Test02.js
1 window.onload=function(){ 2 try{ 3 document.createElement("canvas").getContext("2d"); 4 document.getElementById("support").innerHTML= 5 "HTML5 Canvas is supported in your browser."; 6 } 7 catch(e){ 8 document.getElementById("support").innerHTML= 9 "HTML5 Canvas is not supported in your browser."; 10 } 11 }
Test02.html
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Test02</title> 6 <script type="text/javascript" src="Test02.js"></script> 7 </head> 8 <body> 9 <div id="support"></div> 10 </body> 11 </html>
注:
(1)
在JavaScript中,,可以使用try…catch…finally语句来执行例外处理,即通过它来捕捉错误发生后导致的例外或者执行throw语句产生的例外。它的基本语法如下:
try {
// 此处是可能产生例外的语句
} catch(error) {
// 此处是负责例外处理的语句
} finally {
// 此处是出口语句
}
上面的代码试图创建一个canvas对象,并且获取其上下文。如果发生错误,则可以捕获错误,进而得知浏览器不支持canvas。
另:
在Javascript代码中,如果不使用 window.onload 则会出现以下错误:
TypeError: document.getElementById(...) is null。
这是因为:
网页中的javaScript脚本代码往往需要在文档加载完成后才能够去执行,否则可能导致无法获取对象的情况,为了避免这种情况的发生,可以使用以下两种方式:
一.将脚本代码放在网页的底端,这样在运行脚本代码的时候,可以确保要操作的对象已经加载完成。
二.通过window.onload来执行脚本代码。
Pro HTML5 Programming(Second Edition)2.Canvas API(1)