当我在IE 10或11中的代码中打开它时,此代码有效,但当我尝试在jsfiddle或IE 10或11中的任何地方执行相同操作时,它不起作用。我已经尝试过复制/粘贴并导出为存档,那有什么不对?
if ('objectFit' in document.documentElement.style === false) {
document.addEventListener('DOMContentLoaded', function () {
Array.prototype.forEach.call(document.querySelectorAll('img[data-object-fit]'), function (image) {
(image.runtimeStyle || image.style).background = 'url("' + image.src + '") no-repeat 50%/' + (image.currentStyle ? image.currentStyle['object-fit'] : image.getAttribute('data-object-fit'));
image.src = 'data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' width=\'' + image.width + '\' height=\'' + image.height + '\'%3E%3C/svg%3E';
});
});
}

img {
box-shadow: 0 0 0 1px;
height: 200px;
width: 200px;
}
img[data-object-fit="contain"] {
object-fit: contain;
}
img[data-object-fit="cover"] {
object-fit: cover;
}

<img src="https://placehold.it/1080x200" data-object-fit="cover">
<img src="https://placehold.it/1080x200" data-object-fit="contain">
&#13;
答案 0 :(得分:0)
Codepan刚刚触发&#39; DOMContentLoaded&#39;运行你的代码的事件,但jsFiddle没有。检查document.readyState
答案 1 :(得分:0)
Anton Chukanov,你的想法是正确的,有点我发现在jsfiddle我可以选择加载js的类型,所以默认类型是“onLoad”,当我选择“没有换身体”或“没有换行 - 在头部“它开始正常工作。所以我认为更改负载类型比代码更容易。 谢谢所有参与此问题的人!