DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> HTML基礎知識 >> HTML5詳解 >> HTML5 Canvas之測試浏覽器是否支持Canvas的方法
HTML5 Canvas之測試浏覽器是否支持Canvas的方法
編輯:HTML5詳解     
這篇文章主要介紹了Html5 Canvas之測試浏覽器是否支持Canvas的方法,本文給出了兩種原生方法和一個modernizr類庫,需要的朋友可以參考下

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

在獲取HTML頁面上Canvas元素的引用後,我們需要測試一下該元素是否包含“上下文”(context)。Canvas的上下文指的是由浏覽器定義的用於繪畫的平面。簡單地說,如果上下文不存在的話,Canvas也就名存實亡了。測試浏覽器是否支持Canvas有好幾種方法。第一種方法是檢查Html頁面中Canvas元素的getContext方法是否存在:

復制代碼代碼如下:
if (!theCanvas || !theCanvas.getContext) {
return;
}

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

在上述代碼中,如果測試失敗,那麼return語句執行,程序終止。

另一種方法是創建一個專門用於判斷Canvas是否得以支持的函數,而在該函數中,實時生成一個Canvas元素來進行這種判斷 — 這種方法很流行,Mark Pilgrim在他的Html5網站http://diveintoHtml5.org中提到了這種方案:

復制代碼代碼如下:
function canvasSupport() {
return !!document.createElement('canvas').getContext;
}
function canvasApp() {
if (!canvasSupport()) {
return;
}
}

我們最鐘愛的方法是使用modernizr.JS庫(在http://www.modernizr.com中可以找到)。Modernizr是一個簡單易用的輕量級JavaScript庫,用於測試各種Web技術的兼容性 — 它提供了很多靜態的Boolean方法,可以用來測試當前Canvas是否得到支持。

在HTML頁面中引入modernizr很簡單,從http://www.modernizr.com上下載代碼,然後在Html頁面中包含這個外部JS文件即可:

復制代碼代碼如下:
<script src="modernizr-1.6.min.JS"></script>

使用Modernizr測試Canvas的支持性,只需將上面的canvasSupport函數改動一下就可以了:

復制代碼代碼如下:
function canvasSupport() {
return Modernizr.canvas;
}

我們認為,判斷浏覽器是否支持Canvas,使用Modernizr.JS是最好的方案。
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved