4

以下のコードを使用して、サイトの画像の長いリストをページに表示しています。各画像をクリックするとダウンロードできるように、ダウンロード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);
}

画像は正常に表示されますが、クリックしてダウンロードできません。

ここで適切な構文は何ですか?

4

2 に答える 2

9

これを試してください:

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属性は forであり、 foraではありませんimgドキュメントを確認してください。

于 2013-07-19T12:32:58.643 に答える
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);

MDN を参照してください

于 2013-07-19T12:33:21.753 に答える