@מעלה-ומוריד בסוף מצאתי דרך.
מה שקורה זה שבלחיצה על אחד מהפריטים באגורה, נשלחת בקשה לשרת שלהם והוא מחזיר לדפדפן טקסט של HTML, וזה מה שנפתח מתחת לאותה שורה.
מה שעשיתי זה, ביצעתי בקשות עם fetch לכל אחד מהשורות, וחתכתי מכל הסטרינג של ה-HTML את ה-URL של התמונה עצמה.
מעודכן גם ל - Tampermonkey.
נראה לי יותר טוב:
// ==UserScript==
// @name imagesCreator - for agora.co.il site
// @version 1.0
// @author moti-oren
// @description מוסיף תמונות למוצרים באתר אגורה
// @include https://www.agora.co.il/*
// @noframes
// ==/UserScript==
const objectGroupList = document.querySelectorAll('.objectGroup');
for (let objectGroup of objectGroupList) {
const a = objectGroup.querySelector('a');
const href = a.href;
const words = href.substring(30).slice(0, -6).split('/');
showImage(words[0], words[1], objectGroup);
}
function showImage(a, b, o) {
e = - 1 != location.pathname.toLowerCase().indexOf('togetcheck.asp'),
d = document.getElementById('objectDetails' + b),
f = '/cache/' + a + '/' + b + '_o.asp?toGet=1' + (e ? '&toGetCheck=1' : '');
switch (location.pathname.toLowerCase()) {
case '/togetexperimenti.asp':
f += '&ex=ExperimentI';
break;
case '/togetexperimentii.asp':
f += '&ex=ExperimentII'
}
fetch(f, {
method: 'GET',
headers: {
'Content-Type': 'text/html; charset=UTF-8',
'Content-Language': 'he'
}
}).then((res) => {
return res.text();
}).then((val) => {
const strIndex = val.indexOf('<span class="thumbnail" style="background-image:url');
const start = val.indexOf('http', strIndex);
const last = val.indexOf(')', strIndex);
const url = val.slice(start, last);
const objectName = o.querySelector('.objectName');
objectName.innerHTML += '<img src="' + url + '" width="30">';
})
}