HTML5 Canvas之測(cè)試瀏覽器是否支持Canvas的方法
來(lái)源:易賢網(wǎng) 閱讀:742 次 日期:2015-03-17 11:14:28
溫馨提示:易賢網(wǎng)小編為您整理了“HTML5 Canvas之測(cè)試瀏覽器是否支持Canvas的方法”,方便廣大網(wǎng)友查閱!

本文翻譯自Steve Fulton & Jeff Fulton HTML5 Canvas, Chapter 1, “Testing to See Whether the Browser Supports Canvas”.

在獲取HTML頁(yè)面上Canvas元素的引用后,我們需要測(cè)試一下該元素是否包含“上下文”(context)。Canvas的上下文指的是由瀏覽器定義的用于繪畫(huà)的平面。簡(jiǎn)單地說(shuō),如果上下文不存在的話,Canvas也就名存實(shí)亡了。測(cè)試瀏覽器是否支持Canvas有好幾種方法。第一種方法是檢查HTML頁(yè)面中Canvas元素的getContext方法是否存在:

代碼如下:

if (!theCanvas || !theCanvas.getContext) {

return;

}

事實(shí)上,上述代碼測(cè)試了兩點(diǎn):其一,測(cè)試了theCanvas是否為false(如果id不存在的話,document.getElementById()會(huì)返回false);其二,測(cè)試了getContext()函數(shù)是否存在。

在上述代碼中,如果測(cè)試失敗,那么return語(yǔ)句執(zhí)行,程序終止。

另一種方法是創(chuàng)建一個(gè)專門(mén)用于判斷Canvas是否得以支持的函數(shù),而在該函數(shù)中,實(shí)時(shí)生成一個(gè)Canvas元素來(lái)進(jìn)行這種判斷 — 這種方法很流行,Mark Pilgrim在他的HTML5網(wǎng)站中提到了這種方案:

代碼如下:

function canvasSupport() {

return !!document.createElement('canvas').getContext;

}

function canvasApp() {

if (!canvasSupport()) {

return;

}

}

我們最鐘愛(ài)的方法是使用modernizr.js庫(kù)(在中可以找到)。Modernizr是一個(gè)簡(jiǎn)單易用的輕量級(jí)JavaScript庫(kù),用于測(cè)試各種Web技術(shù)的兼容性 — 它提供了很多靜態(tài)的Boolean方法,可以用來(lái)測(cè)試當(dāng)前Canvas是否得到支持。

在HTML頁(yè)面中引入modernizr很簡(jiǎn)單,從上下載代碼,然后在HTML頁(yè)面中包含這個(gè)外部js文件即可:

代碼如下:

<script src="modernizr-1.6.min.js"></script>

使用Modernizr測(cè)試Canvas的支持性,只需將上面的canvasSupport函數(shù)改動(dòng)一下就可以了:

代碼如下:

function canvasSupport() {

return Modernizr.canvas;

}

我們認(rèn)為,判斷瀏覽器是否支持Canvas,使用Modernizr.js是最好的方案。

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)頁(yè)制作
易賢網(wǎng)手機(jī)網(wǎng)站地址:HTML5 Canvas之測(cè)試瀏覽器是否支持Canvas的方法
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢?yōu)闇?zhǔn)!
相關(guān)閱讀網(wǎng)頁(yè)制作

2025國(guó)考·省考課程試聽(tīng)報(bào)名

  • 報(bào)班類型
  • 姓名
  • 手機(jī)號(hào)
  • 驗(yàn)證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)