在镶边中选择渲染的图片元素图像
Select rendered picture element image in chrome
我需要重用图片元素的渲染图像。有没有一种直接的方法可以使用javascript访问chrome/opera渲染的图像文件路径,而无需复制图片填充完成的逻辑。
<picture>
<source media="(min-width: 800px)" srcset="head.jpg, head-2x.jpg 2x">
<source media="(min-width: 450px)" srcset="head-small.jpg, head-small-2x.jpg 2x">
<img src="head-fb.jpg" srcset="head-fb-2x.jpg 2x" >
</picture>
使用上面的示例,在宽度为 1200px 的 retina 桌面浏览器窗口上,支持图片的浏览器将渲染 head-2x.jpg。或者,如果我在宽度小于 450px 的智能手机上使用 chrome 浏览器,并带有视网膜显示屏,它将使用 head-fb-2x.jpg。如何直接访问此动态渲染的图像?
有没有办法访问这个渲染的图像,而不必自己解析源元素?
有currentSrc
属性,只有在加载了候选时才会更新。函数可能如下所示:
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();
}
}
注意:您必须传递 img
DOM 元素和一个回调函数。
相关文章:
- 如何使用css动画/javascript使具有背景图像的元素出现
- 将包含SVG元素的HTML转换为图像文件
- 如何通过选择器元素将图像添加到javascript下拉警报消息中
- 如何缩放像图像一样的元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- 普通JS:使80%宽度元素100%IF包含一个图像
- 无法为HTML5中具有画布和图像的可拖动元素设置“拖动图像”
- 将href中的图像替换为其他元素中的图像
- 单击即可更改元素中的图像
- 不显示为表单元素的图像输入按钮的动态创建和appendChild
- Javascript获取元素背景图像,但消除了“;url()”;
- 使用漂亮的照片点击另一个元素显示图像
- 将图像附加到没有 id 或值的 td 元素
- 在指令内加载后访问子元素图像
- 在有限的时间内暂时禁用元素/图像的实时点击
- 在镶边中选择渲染的图片元素图像
- 在执行之前,请检查是否已加载子元素(图像)
- 如何更改单击时HTML元素(图像)的顺序
- 如何在Raphael.js中仅针对纸张的第二元素(图像或矩形)
- 我想用html/stylesheet中的文本来更改元素图像