Emlog官方网站上放出了贴图库图床的插件,写文章时上传的图片将永久保存您在贴图库的相册下。在调用时返回图片方式有三种:1缩略图:宽度不超过300 ;2展示图:宽度不超过800;3原图:不进行任何压缩。
现在的问题是,如果我们返回缩略图或者是展示图,图片都会被进行压缩缩放,即使使用highslide查看图片所得到的效果也会是被缩放的。如果我们返回原图,则会因为一些大图在加载时导致网页撑破或者网页卡顿。因此有没有一种两全其美的办法,在网页加载时我们需要缩略图或展示图,而在点击图片用highslide查看是展示的就是原图,这样既美观又清晰。
一般加载highslide效果后,图片的代码如下:
<a href="http://i1.tietuku.cn/cc6eb7dbbff9e480t.jpg" class="highslide" onclick="return hs.expand(this)"><img src="http://i1.tietuku.cn/cc6eb7dbbff9e480t.jpg" width=" " height=" " alt="" ></a>
我们发现上面图片的缩略图地址是http://i1.tietuku.cn/cc6eb7dbbff9e480t.jpg,展示图地址为http://i1.tietuku.cn/cc6eb7dbbff9e480s.jpg,原图地址是http://i1.tietuku.cn/cc6eb7dbbff9e480.jpg,因此我们要做的就是将上面A标签之内的href的值改为原图地址,只需将t.或s.替换为.即可。
对于获取A标签内地址并替换修改,jQuery代码如下(附效果图一张):
$(".highslide").attr("href").replace(/[st]\./,".")
PS:原贴图库图床插件,插入的图片是带有外链代码的,也就是说当你点击图片时会在新窗口打开,去除外链代码请找到此插件template文件夹下的index.html文件,修改其内的87、91、93行去除A标签即可。
有个瑕疵就是,不管你上传的图片是什么格式,贴图库返回的缩略图都是jpg格式,因此,上述方法只适用于jpg格式的图片,其他比如png、gif等需要进一步改进,暂时尚未找到合适的方法。