Я пытаюсь реагировать на определенный тег изображения, получая наиболее подходящий src
в зависимости от контекста.Отзывчивый <img> тэг получения неправильного src
Тег выглядит следующим образом:
<img
id="picimg"
src="image.jpg"
srcset="image-300x281.jpg 300w,
image-1024x961.jpg 1024w,
image.jpg 1664w"
sizes="(max-width: 499px) 92vw,
(min-width: 500px) 86vw,
(min-width: 960px) 96vw, 96vw"
>
Я даже попробовал этот фрагмент кода (находится по адресу: http://blog.cloudfour.com/responsive-images-101-part-2-img-required/), чтобы проверить, какие src
действует каждый раз.
(function() {
var currentSrc, oldSrc, imgEl;
var showPicSrc = function() {
oldSrc = currentSrc;
imgEl = document.getElementById('picimg');
currentSrc = imgEl.currentSrc || imgEl.src;
if (typeof oldSrc === 'undefined' || oldSrc !== currentSrc) {
document.getElementById('logger').innerHTML = currentSrc;
}
};
// You may wish to debounce resize if you have performance concerns
window.addEventListener('resize', showPicSrc);
window.addEventListener('load', showPicSrc);
})(window);
Однако src
кажется, никогда не изменится (это, кажется, всегда быть image.jpg
), независимо от браузера и его ширины.
Я подозреваю, что, повторяя тот же самый по умолчанию src
как последний элемент в атрибуте srcset
, это может повлиять на результат. Или, может быть, определяющим фактором является размер по умолчанию (последний элемент в sizes
).
Ваша помощь будет высоко оценена.
Всегда есть шанс, что я не знаю, как его проверить. –
Я нашел Chrome-Dev-Tools для неправильного представления изображения, которое отображается при наведении указателя мыши на элемент, но щелчок правой кнопкой мыши и переход на «Открыть изображение в новой вкладке». Кроме того, попробуйте маркировать ваши отзывчивые изображения водяным знаком во время dev, чтобы обеспечить его работу. –
использовать png вместо jpg для начала! –