首頁 > web前端 > H5教程 > HTML5 Canvas之測試瀏覽器是否支援Canvas的方法_html5教學技巧

HTML5 Canvas之測試瀏覽器是否支援Canvas的方法_html5教學技巧

WBOY
發布: 2016-05-16 15:47:02
原創
1726 人瀏覽過

本文譯自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 (!canvasSupportif()) {
return;
}
}

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

在HTML頁面中引入modernizr很簡單,從http://www.modernizr.com下載程式碼,然後在HTML頁中包含這個外部js檔案:

複製程式碼
程式碼如下:




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


function canvasSupport() {
return Modernizr.canvas;
}

我們認為,>}我們認為,器是否支援Canvas,使用Modernizr.js是最好的方案。
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板