我正在使用以下代码在页面上的网站上显示一长串图片。我希望能够使用下载HTML5
属性,以便单击每个图像将下载它。
这是我尝试过的:
for (var i = 0; i<arlnData.d.length;i++) {
var img = document.createElement('img');
img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif";
img.download ="my image";
//also tried:
//img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif";
document.body.appendChild(img);
var imageCellspace=document.createElement('br');
document.body.appendChild(imageCellspace);
}
图像显示正常,但点击下载无效。
这里的正确语法是什么?
答案 0 :(得分:7)
试试这个:
for (var i = 0; i<arlnData.d.length;i++) {
var img = document.createElement('img');
img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif";
var a = document.createElement('a');
a.href = img.src;
a.download = 'image.gif';
a.appendChild(img);
document.body.appendChild(a);
var imageCellspace=document.createElement('br');
document.body.appendChild(imageCellspace);
}
download
属性适用于a
,不适用于img
。查看documentation。
答案 1 :(得分:1)
您必须将<img>
包裹在<a>
上,因为download
属性仅适用于主播。
var img = document.createElement('img');
img.src = "https://images.website.com/airvendors/airlines_"+arlnData.d[i].Code+".gif";
var a = document.createElement('a');
a.href = img.src;
a.download = "My image name";
a.appendChild(img);
document.body.appendChild(a);