勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

JavaScriptでdownload属性が付与されている画像を一括ダウンロードさせる方法

  JavaScript

ページ内にdownload属性が付与されている画像が複数あり、何らかのボタンをクリック時に全ての画像をまとめてダウンロードさせたい。PHPが利用可能な環境であればZIPファイル化の上、ダウンロードさせる形を取るがASPを利用したサイトのためPHPが利用不可だった。そのためJavaScriptでの対応方法を以下にメモ。

 

サンプル

https://taitan916.info/sample/js_download/

画像をクリックすると個別にダウンロード、「一括ダウンロード」ボタンをクリックすると全画像がダウンロードできる筈。

 

ソースコード

<div>
    <a href="001.jpg" class="img" download>
        <img src="001.jpg">
    </a>
    <a href="002.jpg" class="img" download>
        <img src="002.jpg">
    </a>
    <a href="003.jpg" class="img" download>
        <img src="003.jpg">
    </a>
</div>

<button id="download">一括ダウンロード</button>

<script>
document.querySelector('#download').addEventListener('click', function() {
    document.querySelectorAll('.img').forEach(function(e){
        e.click();
    });
});
</script>

 

所感

e.click()部分はjQueryのclickイベントだと動かなかったため、実装の際はバニラJSで対応すること。

 - JavaScript

  関連記事

Chart.jsで描写したグラフを画像としてダウンロードさせる方法
Chart.jsで描写したグラフを画像としてダウンロードさせる方法

サイト内にChart.jsでグラフを描写し、ボタンやリンクをクリックすることで当 ...

JavaScriptのIntersectionObserverを利用して指定した要素が表示されているか確認する方法
JavaScriptのIntersectionObserverを利用して指定した要素が表示されているか確認する方法

ブラウザ上で指定した要素が表示されているかチェックし、表示されている場合は何らか ...

JavaScriptでaタグ内の特定の要素をクリックした際にページ遷移させず別の処理を行う方法
JavaScriptでaタグ内の特定の要素をクリックした際にページ遷移させず別の処理を行う方法

JavaScriptでaタグ内の特定の要素をクリックした際にページ遷移させず別の ...

ローソク足のグラフをJavaScriptで描写する方法(highstock)
ローソク足のグラフをJavaScriptで描写する方法(highstock)

株価か仮想通貨などの値動き(チャート)を図表とするローソク足のグラフを何らかの方 ...

JavaScriptでフォーム送信の際に禁止ワードのチェック及び制限をかける方法
JavaScriptでフォーム送信の際に禁止ワードのチェック及び制限をかける方法

掲示板等で本文を送信する際に予め定めていた禁止ワードが含まれていないかチェックし ...