在Typora中,默认没有点击图片放大功能,本文就教大家如何配置该功能。
可以从Github下载:https://github.com/lokesh/lightbox2
将dist目录中的文件拷贝到Typora的安装目录的相应位置下。
在安装目录的D:\Program Files\Typora\resources\
文件夹下,新建了extend文件夹,用来存放扩展插件的,dist目录下的文件也放到了这。
位置:D:\Program Files\Typora\resources\window.html
(这个文件实际就是Typora的主界面)
可以搜索</head>
,在它的前面添加:
<!-- 在<head>标签里引入lightbox.min.css -->
<link rel="stylesheet" href="./extend/lightbox2/css/lightbox.min.css" crossorigin="anonymous">
可以搜索</script><script src="./appsrc/window/frame.js" defer="defer"></script>
,然后在它的后面添加:
<script type="text/javascript" src="./extend/lightbox2/js/lightbox.js" defer="defer"></script>
因为lightbox需要有 a 标签包围着 img 标签,相应的点击事件是绑定在 a 标签上的,且需要 href 、 data-lightbox 、 data-alt 等属性,而Typora中的图片只有 img 标签,父级没有 a 标签,也没有相应要求的属性。因此需要改造一下 lightbox.js 文件。
修改enable
函数,添加代码:
//为img绑定双击事件,但要排除本就是双击放大展示的图片
$('body').on('dblclick', "img:not([class='lb-image'])" ,function(event){
self.start($(event.currentTarget)) ;
return false;
}) ;
lightbox用到三个属性:alt
、href
、title
,这三个属性在img
标签中均有对应的。
修改start
函数,换成img
对应属性:
function addToAlbum($link) {
self.album.push({
alt: $link.attr('data-alt')|| $link.attr('alt'),
link: $link.attr('href')|| $link.attr('src'),
title: $link.attr('data-title') || $link.attr('title')
});
}
还有另外一个属性data-lightbox
,img没有该属性,因此这里不使用,lightbox中有一段判断是否有该属性的代码,修改不存在该属性时的逻辑代码(注释掉原有的,添加addToAlbum($link);
):
修改完成,保存即可。
双击要放到查看的图片,即可。
https://blog.csdn.net/wu_zeqin/article/details/113942617
本文结束。