一个HTMLImageElement具有currentSrc
属性,因此我们可以获取img
元素的当前源。在使用srcset
定义多个可能源时非常有用。
似乎没有等效于HTMLPictureElement的东西。
那么我们是否可以通过Javascript找到picture
元素的当前源的另一种方式?
一个HTMLImageElement具有currentSrc
属性,因此我们可以获取img
元素的当前源。在使用srcset
定义多个可能源时非常有用。
似乎没有等效于HTMLPictureElement的东西。
那么我们是否可以通过Javascript找到picture
元素的当前源的另一种方式?
picture
元素内的img
元素的currentSrc
属性,以获取应用的图像。currentSrc
将是http://placehold.it/600x100
图像。
window.onload = function() {
const picture = document.getElementById('pictureEl');
const currentSource = document.getElementById('currentSource');
currentSource.innerText = picture.querySelector('img').currentSrc;
}
<picture id="pictureEl">
<source srcset="http://placehold.it/600x100?text=Source" media="(min-width: 300px)">
<img src="http://placehold.it/300x100?text=Img">
</picture>
<div id="currentSource"></div>
function getCurrentSrc(element, cb){
var getSrc;
if(!window.HTMLPictureElement){
if(window.respimage){
respimage({elements: [element]});
} else if(window.picturefill){
picturefill({elements: [element]});
}
cb(element.src);
return;
}
getSrc = function(){
element.removeEventListener('load', getSrc);
element.removeEventListener('error', getSrc);
cb(element.currentSrc);
};
element.addEventListener('load', getSrc);
element.addEventListener('error', getSrc);
if(element.complete){
getSrc();
}
}
window.respimage
和window.picturefill
是从哪里来的? - Colin Meinke
img
元素的currentSrc
在这里的工作方式也是相同的……? - CBroe