Pro HTML5 Programming(Second Edition)2.Canvas API(1)

时间:2021-07-06 04:38:23

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)