halo-sigs / plugin-lightgallery

集成 lightgallery.js,支持在内容页面放大显示图片
https://halo.run/store/apps/app-OoggD
GNU General Public License v3.0
6 stars 4 forks source link

页面匹配规则的匹配区域无法适应页面上多个节点 #10

Closed ruibaby closed 1 year ago

ruibaby commented 1 year ago

比如 /moments 页面:

image

由于 Moments 页面的特殊性,会包含多个 markdown-body 的类。

会生成以下 JS:

document.addEventListener("DOMContentLoaded", function () {
  document.querySelectorAll(`.markdown-body img`) ?. forEach(function (node) {
    if (node) {
      node.dataset.src = node.src;
    }
  });
  lightGallery(document.querySelector(".markdown-body"), {selector: "img"});
});

其中 lightGallery(document.querySelector(".markdown-body"), {selector: "img"}); 无法为每一个 markdown-body 类初始化 lightGallery,所以会导致页面上只有第一条内容可以点击放大图片。

可能需要使用 document.querySelectorAll().forEach(e => lightGallery(...))