javascript – Modernizr测试
作者:互联网
为什么这会发出警报,是和否?
Modernizr.load([
{
test: Modernizr.cssgradients,
yep: alert('Supports it!'),
nope: alert('Oh, damn! This browser sucks!')
}
]);
我在OS X上使用最新的chrome.
解决方法:
因为你直接在那里调用alert(),所以alert()(总是未定义)的结果被分配给yep和nope属性.您需要在函数中包装alert()并指定该函数:
Modernizr.load([
{
test: Modernizr.cssgradients,
yep: function () { alert('Supports it!') },
nope: function () { alert('Oh, damn! This browser sucks!') }
}
]);
这仍然无效,因为它不是yepnope的工作方式. yep和nope应该是加载的JS文件的路径:
Modernizr.load([
{
test: Modernizr.cssgradients,
nope: 'cssgradients-shim.js' //-> load a JS file to draw your gradients
}
]);
正如您自己发现的那样,如果您不想使用集成的yepnope.js,您可以使用传统方式使用Modernizr:
if (!Modernizr.cssgradients) {
alert('Oh, damn! This browser sucks!');
}
标签:javascript,modernizr,yepnope 来源: https://codeday.me/bug/20190712/1442398.html