我想要做的就是在浏览器中检测Canvas支持。 Modernizr" Documentation"页面长达一千行,但似乎无法简单地解释特征检测(它的主要功能),而是对聚合填充进行咆哮。无论如何,这个:
Modernizr.canvas
只需返回undefined
,而不是true
或false
。如何让Modernizr实际告诉我浏览器中是否存在此功能?
答案 0 :(得分:1)
当不支持某些内容时,Modernizr不会报告false
。它只报告true
,如果它们是,只是让不支持的属性未定义的事实充当假值。
例如,在我正在使用的Firefox中,Modernizr.canvas
报告true
。在旧的Android版本上,它会报告undefined
,条件相当于false
:
if (Modernizr.canvas) {
// do canvasy things
} else {
// notify users that you need canvas, and their browser won't work
}
它为所有事情做到了这一点:如果支持,它将是真的。如果没有,它实际上不是Modernizr对象上的属性,因此调用将根据JavaScript规范使JS引擎报告undefined
。