From 6f459d00e2945c94e312c2cd817a7b80952d967c Mon Sep 17 00:00:00 2001 From: GrosPoulet Date: Wed, 28 Aug 2024 12:58:42 +0200 Subject: [PATCH] Fix for plug-in: startpage.com (#1361) --- plugins/startpage.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/plugins/startpage.js b/plugins/startpage.js index d2156375..54b55bca 100644 --- a/plugins/startpage.js +++ b/plugins/startpage.js @@ -1,23 +1,24 @@ var hoverZoomPlugins = hoverZoomPlugins || []; hoverZoomPlugins.push({ name:'startpage', - version:'0.2', + version:'0.3', prepareImgLinks:function (callback) { var name = this.name; var res = []; - var jsonToken1 = 'UIStartpage.AppSerp,'; - var jsonToken2 = '}),'; + + const jsonToken1 = 'UIStartpage.AppSerpImages,'; + const jsonToken2 = '}),'; var spJson = undefined; var spData = extractJsonFromDoc(); // links to fullsize imgs are stored in HTML document (JSON) function extractJsonFromDoc() { - let innerHTML = document.documentElement.innerHTML; - let index1 = innerHTML.indexOf(jsonToken1); + const innerHTML = document.documentElement.innerHTML; + const index1 = innerHTML.indexOf(jsonToken1); if (index1 == -1) return undefined; - let index2 = innerHTML.indexOf(jsonToken2, index1); + const index2 = innerHTML.indexOf(jsonToken2, index1); spJson = innerHTML.substring(index1 + jsonToken1.length, index2 + 1); try { let sp = JSON.parse(spJson); @@ -33,13 +34,14 @@ hoverZoomPlugins.push({ let src = link.attr('src'); // search for thumbnail url among sp data - if (spJson.indexOf(src) == -1) return; + if (spJson?.indexOf(src) == -1) return; let values = hoverZoom.getValuesInJsonObject(spData, src, false, true, true); // look for a partial match & stop after 1st match if (values.length == 0) return; let o = hoverZoom.getJsonObjectFromPath(spData, values[0].path.substring(0, values[0].path.lastIndexOf('['))); // extract fullsize url from Object let fullsizeUrl = o.clickUrl || o.anonImageViewUrl; + if (fullsizeUrl == undefined) return; fullsizeUrl = fullsizeUrl.replace(/.*piurl=(.*)&sp=.*/, '$1'); fullsizeUrl = decodeURIComponent(fullsizeUrl); if (link.data().hoverZoomSrc == undefined) { link.data().hoverZoomSrc = [] }