Моя конечная цель - определить, способен ли браузер отображать изображения в Интернете.Если это так, замените все изображения на странице их эквивалентами webp (расположенными в том же каталоге с тем же именем, но с другим расширением)
В настоящее время у меня есть скрипт, который успешно определяет, способен ли браузерdisplay webp
(function(){
var WebP=new Image();
WebP.onload=WebP.onerror=function(){
if(WebP.height!=2){
console.log("You do not have WebP support.");
} else {
console.log("You do have WebP support.");
}
};
WebP.src='data:image/webp;base64,UklGRjoAAABXRUJQVlA4IC4AAACyAgCdASoCAAIALmk0mk0iIiIiIgBoSygABc6WWgAA/veff/0PP8bA//LwYAAA';
})();
Внутри чехла для поддержки webp я попробовал следующий код, но безуспешно.
// replace .gif with .webp
var allImages = document.body.getElementsByTagName("img");
var length = allImages.length;
var i;
for(i = 0; i < length; i++){
allImages[i].src.replace("png", "testtest");
console.log(allImages[i]);
}
При размещении в заголовке консоль правильно отображает всетеги изображения, но источник не был изменен из файла filename.png, которым он был изначально.
Есть идеи, что делается неправильно?
Редактировать: Iобнаружил обнаружил проблему с тем, почему он не загружал изображения, благодаря wsanville.Однако, глядя на вкладку «Сеть» в Chrome, я все еще обнаруживаю, что я загружаю как png, так и теперь изображение webp.Как я могу предотвратить загрузку изображения png?