Skip to content

Commit

Permalink
Merge pull request #1404 from GrosPoulet/master
Browse files Browse the repository at this point in the history
Fix for plug-in: startpage.com (#1361)
  • Loading branch information
GrosPoulet authored Aug 28, 2024
2 parents 31fd601 + 6f459d0 commit 9351378
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions plugins/startpage.js
Original file line number Diff line number Diff line change
@@ -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);
Expand All @@ -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 = [] }
Expand Down

0 comments on commit 9351378

Please sign in to comment.