From 2c99dd86598742f9ad6eb4a0a0856ee47bbbdca3 Mon Sep 17 00:00:00 2001 From: GrosPoulet Date: Thu, 3 Sep 2020 19:04:13 +0200 Subject: [PATCH] Update plug-in : GettyImages --- plugins/gettyimages.js | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/plugins/gettyimages.js b/plugins/gettyimages.js index 8578b4262..d05a342ec 100644 --- a/plugins/gettyimages.js +++ b/plugins/gettyimages.js @@ -1,15 +1,39 @@ var hoverZoomPlugins = hoverZoomPlugins || []; hoverZoomPlugins.push({ name:'gettyimages.com', - version:'0.1', + version:'0.2', prepareImgLinks:function (callback) { var res = []; + var regex = /(.*)\?(.*)/; + var patch = '$1?s=2048x2048'; hoverZoom.urlReplace(res, - 'img[src*="gettyimages"]', - /\?.*/, - '' + 'img[src]', + regex, + patch ); - callback($(res)); + + $('[style*=background]').each(function() { + var link = $(this); + // extract url from style + var backgroundImage = this.style.backgroundImage; + if (backgroundImage.indexOf("url") != -1) { + var reUrl = /.*url\s*\(\s*(.*)\s*\).*/i + backgroundImage = backgroundImage.replace(reUrl, '$1'); + // remove leading & trailing quotes + var backgroundImageUrl = backgroundImage.replace(/^['"]/,"").replace(/['"]+$/,""); + var fullsizeUrl = backgroundImageUrl.replace(regex, patch); + if (fullsizeUrl != backgroundImageUrl) { + + if (link.data().hoverZoomSrc == undefined) { link.data().hoverZoomSrc = [] } + if (link.data().hoverZoomSrc.indexOf(fullsizeUrl) == -1) { + link.data().hoverZoomSrc.unshift(fullsizeUrl); + res.push(link); + } + } + } + }); + + callback($(res), this.name); } }); \ No newline at end of file