我的最終目標是檢測瀏覽器是否能夠顯示webp圖像。如果是這樣,將頁面上的所有圖像替換爲其webp等效項(位於同一目錄中,具有相同名稱,只是不同的擴展名)WebP圖像替換
目前,我有一個腳本,可以成功檢測瀏覽器是否能夠顯示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,這原本是改變。
關於正在做什麼不正確的任何想法?
編輯:我發現發現問題,爲什麼它不是加載圖像,感謝wsanville。查看chrome中的網絡選項卡,但仍顯示我正在加載png和現在的webp圖像。如何防止首先加載png圖像?
我建議使用的WEBP支持檢測http://stackoverflow.com/a/27232658/288906一個輕量級的解決方案 –