马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
本帖最后由 loopsun 于 2021-12-17 10:52 编辑
1. 解决问题
论坛markdown格式的帖子图片无法被图片放大插件支持,导致阅读markdown格式的帖子图片浏览不友好
2. 解决方案
总体思路: 为markdown格式的图片添加支持放大插件支持的属性
方案步骤:
![](data/attachment/album/202112/17/102941te1firrkxrffr1kf.png)
![](data/attachment/album/202112/17/103434p1exzazhj2nj426x.png)
![](data/attachment/album/202112/17/103646io1dvqalykotqqdj.png)
确认安装
![](data/attachment/album/202112/17/103707vrtq72d85o88jycc.png)
刷新论坛页面,可以发现图片已经支持放大了
![](data/attachment/album/202112/17/104530lkkf91k955l5kz5k.png)
3. 实现原理
核心代码, 非常基础简单的JS语句,用到了元素选择器与Dom对象操作
let markdownContetnts = document.querySelectorAll('.parsedown-markdown'); // 获取当前页面所有的markdown内容层
for (var i = 0; i < markdownContetnts.length; i++) {
var markdownContetnt = markdownContetnts[i];
let allImgs = markdownContetnt.querySelectorAll('img'); // 获取每个markdown层的所有的img对象
for (var j = 0; j < allImgs.length; j++) {
var img = allImgs[j]; // 获取单个img对象
img.zoomfile = img.src; // 添加img对象zoomfile属性,放大插件会需要这个属性来获取放大的图片路径
img.classList.add('zoom'); //添加"zoom" class
img.onclick = function(){zoom(this, this.src, 0, 0, 0);} // 添加鼠标点击监听事件,调用zoom方法放大图片
}
};
|