要顯示圖片就一定唔少得用 Lightbox 之類的東西,所以係 Blogger 呢度都係要加入返個先似返啲樣。
比較個咁多款易用程度同埋功能來講,Fslightbox 都係最方便同埋好用的表表者。
官方網站 : https://fslightbox.com/
### 用法
因為 Blogger 係 Vanilla JS,所以最直接就係去搵人地啲 CDN 返來用就最方便。
CDN 地址 : https://cdnjs.com/libraries/fslightbox/3.4.1
將下面呢個直接貼入去你個 Blogger `</body>` 上面一行就搞掂。
```html
<script src="https://cdnjs.cloudflare.com/ajax/libs/fslightbox/3.4.1/index.min.js" integrity="sha512-BD6B4tou7H7CWpfaXthxgqwk7kHs/rPDEk9GD/Rvbx0sCOUdqtrvlBP/o64EmdP5lnGOS4j4FTcn0iPJx6bVCw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
```
如果係純 Js 用就好簡單,用返 `document.querySelectorAll()` 抽返晒你文中的所有 `<img>` 出來,然後用 `getAttribute('src')` 抽出圖片的來源網址備用。
```js
// 建立 Fslightbox 的實體
const lightbox = new FsLightbox();
// 設定來源的類別
lightbox.props.type = 'image';
// 設定來源
lightbox.props.sources = imagesData.map(image => image.src);
// 開啟 lightbox
lightbox.open();
```
### 如何抽出文中的所有 `<img>` 來源網址
上面講到要抽出文中的所有 `<img>` 來源網址,其實都好簡單,今日今日 (2024年) Vanilla Js 先係皇道,所以就用 Vanilla Js 去做。
```js
// get all target elements
const imageElements = document.querySelectorAll(`img`);
// pluck all src
const sources = imageElements.map(imageElement => imageElement.getAttribute('src'));
```
咁樣你個 `sources` 就已經有晒所文中所有的 `<img>` 來源網址了。