处理浏览器不支持HTML5 <canvas>标签的情况的标准方法是嵌入一些后备内容,例如:
<canvas>
<canvas>Your browser doesn't support "canvas".</canvas>
但是页面的其余部分保持不变,这可能是不合适的或令人误解的。我想要一种检测画布不受支持的方法,以便可以相应地显示页面的其余部分。你会推荐什么?
这是Modernizr以及基本上所有其他执行画布工作的库中使用的技术:
function isCanvasSupported(){ var elem = document.createElement('canvas'); return !!(elem.getContext && elem.getContext('2d')); }
由于您的问题是在 不 支持的情况下用于检测,因此我建议像这样使用它:
if (!isCanvasSupported()){ ...