Modernizr检查object-fit未给出预期结果。

4
我正在使用Modernizr为创建一个备选方案。解决方案是有效的,但它会将代码应用于所有浏览器,而不仅仅是那些不支持的浏览器(如IE)。这是为什么呢?
我的代码:
if ( ! Modernizr.objectfit ) {
    console.log('object fit is not supported');
    tpj('.featuredpost').each(function () {
        var $container = tpj(this),
                imgUrl = $container.find('.img-responsive').prop('src');
        if (imgUrl) {
            $container
                .css('backgroundImage', 'url(' + imgUrl + ')')
                .addClass('compat-object-fit');
        }
    });

    tpj('.big-post').each(function () {
        var $container = tpj(this),
                imgUrl = $container.find('.img-responsive').prop('src');
        if (imgUrl) {
            $container
                .css('backgroundImage', 'url(' + imgUrl + ')')
                .addClass('compat-object-fit');
        }
    });
}else{
    console.log('object is supported');
}

无论我检查哪个浏览器,它总是记录:object fit is not supported,即使在支持object-fit的浏览器上也是如此。 我该怎么办?
Modernizr已正确包含和加载(即使我将本地文件更改为CDN路径,我也会得到相同的结果):
<!-- Modernizr Library -->
<script type="text/javascript" src="js/modernizr.min.js"></script>

enter image description here


"Modernizr已正确包含和加载" => 你能让我们判断一下吗?请提供一个[MCVE]。就我所知,我无法在FF58或Chrome 63上重现。https://jsfiddle.net/02u39z1z/ - Kaiido
@Kaiido 已添加到帖子中。 - twan
这还不构成一个 [MCVE]。 - Kaiido
@Kaiido 我认为现在可以了吧? - twan
你是否从Modernizr的网站上下载了它,并检查了特性列表中的CSS ObjectFit?https://modernizr.com/download?setclasses&q=objectFit。 你可以通过在modernizr.js中搜索“Modernizr.addTest(”objectfit“”来验证是否实际包含了objectfit库。 此外,一些CDN js文件不包括objectFit。 - Marco
1个回答

1

是的,在v3.0上修复了一个错误:https://github.com/Modernizr/Modernizr/issues/1607 - Jorge Fuentes González

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接