Не специалист в js, нашел код, который определяет поддержу браузером webp.
function testWebP() {
return new Promise(res => {
const webP = new Image();
webP.src = 'data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';
webP.onload = webP.onerror = function () {
res(webP.height === 2);
};
})
};
IE11 webp очевидно не поддерживает, но он и не поддерживает стрелочную функцию, потому в консоли ошибка синтаксиса. Как можно изменить код, так, чтобы он нормально работал в старых браузерах и ie?
UPD: Ребята, спасибо, решил свой вопрос. Вот такой код работает:
function testWebP(callback) {
var webP = new Image();
webP.onload = webP.onerror = function() {
callback(webP.height == 2);
};
webP.src = "data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA";
}
Запуск:
testWebP(function(support) {
<ваш код. переменная support может быть true если webp поддерживается и false если нет>
});