Javascript 观察Picture元素中image currentSrc属性的更改

Javascript 观察Picture元素中image currentSrc属性的更改,javascript,mutation-observers,Javascript,Mutation Observers,我在尝试获取图像的currentSrc属性(仅限Chrome)时遇到了一些问题 特别是,我看到的图像是图片元素的一部分,因此它们的src由浏览器提供。您可以拥有一个不带src的映像,该映像通过选择源元素随src一起提供 像这样: <picture> <source media="(min-width: 2000px)" srcset="https://s3-eu-west-1.amazonaws.com/gears-min.jpg"> <source med

我在尝试获取图像的currentSrc属性(仅限Chrome)时遇到了一些问题

特别是,我看到的图像是图片元素的一部分,因此它们的src由浏览器提供。您可以拥有一个不带src的映像,该映像通过选择源元素随src一起提供

像这样:

<picture>
  <source media="(min-width: 2000px)" srcset="https://s3-eu-west-1.amazonaws.com/gears-min.jpg">
  <source media="(min-width: 1600px)" srcset="https://s3-eu-west-1.amazonaws.com//black_hole.jpg">
  <source media="(min-width: 1200px)" srcset="https://s3-eu-west-1.amazonaws.com/Moon.jpg">
  <img style="width:100%">
</picture>
当我通过document.getElementsByTagName('img')使用一个简单的循环时也是如此,如下所示:

var elementSet = document.getElementsByTagName('img');
for (var i=0; i < elementSet.length; i++) {
console.log(elementSet[i].currentSrc);
}
var elementSet=document.getElementsByTagName('img');
for(var i=0;i
我可以从逻辑上理解为什么变异摘要库不起作用,DOM中没有任何变化,变异摘要只跟踪属性,而不跟踪属性

但是,我不明白为什么基本循环不能使用img.currentSrc查看currentSrc。当我看它时,它是空白的

令人恼火的是,当我在chromedev工具中查看image元素的属性时,我可以看到currentSrc属性应该是这样的,并且可以看到它正在更新。我就是搞不懂


有什么想法吗?

嗨,汤姆,如果你向我们展示你当前的代码,帮助你会更容易。是的,现在添加了一些代码什么是
基本循环
?我们真的需要看看你正在使用的实际代码…听起来不错,我认为这是一个时间问题。当我的脚本运行时,映像尚未完成加载,因此currentSrc属性不可用。就我个人而言,我认为突变摘要应该是获取对src或currentsrc属性的更改,所以Chrome应该在执行picture操作时将这些属性写入DOM。否则,它就有点模糊了。
var elementSet = document.getElementsByTagName('img');
for (var i=0; i < elementSet.length; i++) {
console.log(elementSet[i].currentSrc);
}