Как использовать формат WebP в других браузерах?
Я использую ревизии Google для ускорения работы моего приложения. Итак, аудит Google говорит: "пришло время использовать изображения.webp!". Хорошо, давайте сделаем это. Но... Mozilla Firefox не поддерживает его. Итак, я включаю WebPJS, и это помогло. Но...
У меня есть DOM-элемент:
<img src="image.webp" srcset="image-480.webp 480w, image-768.webp 768w, image-1024.webp 1024w" alt="alt" titile="title"/>
WebPJS заменяет атрибут src, но не трогает атрибут srcset. Как решить эту проблему?
2 ответа
Элемент изображения - это то, что вам нужно:
<picture>
<source srcset='image-480.webp' type="image/webp" media="(max-width: 480px)">
<source srcset='image-768.webp' type="image/webp" media="(max-width: 768px)">
<source srcset='image-1024.webp' type="image/webp" media="(min-width: 769px)">
<source srcset='image-480.jpg' type="image/jpg" media="(max-width: 480px)">
<source srcset='image-768.jpg' type="image/jpg" media="(max-width: 768px)">
<source srcset='image-1024.jpg' type="image/jpg" media="(min-width: 769px)">
<img src="image-1024.jpg" />
</picture>
Выше код должен:
- загрузить изображение webp для браузера, где поддерживается атрибут изображения и изображение webp
- загрузить jpg для браузера, где поддерживается атрибут изображения, но не webp
- загрузить image-1024.jpg для браузера, где атрибут картинки не поддерживается
Могу ли я использовать: изображение webp
Может быть с onError
как запасной вариант? Что-то вроде
<img src="image.webp" onerror="this.onerror=null; this.src='image.png'">
Вы видели этот вид веб-порции? Возможно использование <picture>
будет делать работу?