3 回答

TA貢獻(xiàn)1966條經(jīng)驗 獲得超4個贊
這是Modernizr以及基本上所有其他執(zhí)行畫布工作的庫中使用的技術(shù):
function isCanvasSupported(){
var elem = document.createElement('canvas');
return !!(elem.getContext && elem.getContext('2d'));
}
由于您的問題是在不支持的情況下用于檢測,因此我建議像這樣使用它:
if (!isCanvasSupported()){ ...

TA貢獻(xiàn)1828條經(jīng)驗 獲得超13個贊
getContext創(chuàng)建畫布對象時,通常會進(jìn)行檢查。
(function () {
? ? var canvas = document.createElement('canvas'), context;
? ? if (!canvas.getContext) {
? ? ? ? // not supported
? ? ? ? return;
? ? }
? ? canvas.width = 800;
? ? canvas.height = 600;
? ? context = canvas.getContext('2d');
? ? document.body.appendChild(canvas);
}());
如果支持,則可以繼續(xù)畫布設(shè)置并將其添加到DOM。這是“ 漸進(jìn)增強(qiáng)”的簡單示例,我(個人)更喜歡“優(yōu)雅降級”。
添加回答
舉報