3 回答

TA贡献1966条经验 获得超4个赞
这是Modernizr以及基本上所有其他执行画布工作的库中使用的技术:
function isCanvasSupported(){
var elem = document.createElement('canvas');
return !!(elem.getContext && elem.getContext('2d'));
}
由于您的问题是在不支持的情况下用于检测,因此我建议像这样使用它:
if (!isCanvasSupported()){ ...

TA贡献1828条经验 获得超13个赞
getContext创建画布对象时,通常会进行检查。
(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);
}());
如果支持,则可以继续画布设置并将其添加到DOM。这是“ 渐进增强”的简单示例,我(个人)更喜欢“优雅降级”。
添加回答
举报