JavaScriptでdownload属性が付与されている画像を一括ダウンロードさせる方法
ページ内に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で対応すること。
関連記事
-
-
Gif画像に再生ボタンを設置し、ユーザーの操作により再生⇔停止が行える「gifffer」ライブラリの利用方法
あるページにGif画像を設置し、当該画像が表示されても自動再生させず、再生ボタン ...
-
-
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...
-
-
バニラJavaScriptにて「ipify API」を利用してユーザのIPアドレスを取得する方法
あるサイトでユーザのIPアドレスを取得したいというケースがあった。普段であればP ...
-
-
jQuery UIを使って簡単にダイアログを表示させる方法
ブラウザ上でユーザーに対してちょっとした確認を行いたい場合はJavaScript ...
-
-
JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法
電子書籍や漫画ビューア用を設置したい。条件としてはレスポンシブ対応していること。 ...