勉強したことのメモ

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

Lightboxで画像拡大時にダウンロードリンクを設置する方法

Lightboxで画像拡大時にダウンロードリンクを設置したいと要望を受けた。もちろんリンクをクリックすると表示されている画像がダウンロードされるという仕様。JavaScript / jQueryで処理を追加しないといけないかと思ったが、もっと簡単な方法で対応できた。以下に実装方法をメモ。

 

サンプル

https://taitan916.info/sample/lightbox2/download/

画像拡大時、左下にダウンロードのリンクが表示され、クリックするとダウンロードされる筈。Chrome / Edge / Firefoxで動作した。

 

対応方法

ソースコード

<style>
img{
    max-width: 200px;
}
</style>

<a href="../img/001.jpg" rel="lightbox" title="<a class='dl_link' href='../img/001.jpg' download>ダウンロード</a>">
    <img src="../img/001.jpg">
</a>

<script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/lightbox2@2.11.5/dist/js/lightbox.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/lightbox2@2.11.5/dist/css/lightbox.min.css" rel="stylesheet">

 

所感

.dl_link部分をCSSで調整すれば使っていけそう。

 - jQuery JavaScript

  関連記事

PHPで画像を比較して類似度を算出する「image-comparator」ライブラリの利用方法
PHPで画像を比較して類似度を算出する「image-comparator」ライブラリの利用方法

PHPで画像の類似度を計測したい。ただ、そのためのロジックが全く分からないためラ ...

PHPで画像を分割し並べ替えて出力したものをJavaScriptで復元する方法
PHPで画像を分割し並べ替えて出力したものをJavaScriptで復元する方法

ある電子書籍サイトをブラウザの開発者ツールで見てみたところ、PHPでページ画像を ...

ajaxを使わずに非同期っぽくsubmitする
ajaxを使わずに非同期っぽくsubmitする

ajaxを使わずに見た目はページ遷移せず、 画像を含めたformをsubmitし ...

JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法
JavaScriptでダミー画像(プレースホルダー画像)を表示する「Holder.js」ライブラリの利用方法

サイトの開発段階で「本番用の画像はまだ用意できていない」等の理由によりダミー画像 ...

スマホでフォームの画像アップロード部分でカメラを起動させる方法
スマホでフォームの画像アップロード部分でカメラを起動させる方法

formの画像アップロード部分で、スマホの場合にカメラで撮影させたい。以下に対応 ...