בקשה | סקריפט עבור אתר אגורה
-
באתר אגורה בניגוד לאתר יד2 התמונות אינן מופיעות ברשימת הפריטים, ויש צורך ללחוץ בכל פעם מחדש, מה שמסרבל את השימוש בו
האם מישהו מכיר איזה סקריפט שייתן את התמונה על הרשומה או בריחוף על כפתור התמונה? אני מאמין שמישו כתב כבר כזה משו
אולי למישהו כאן יש במקרה חשק לכתוב ; )
-
@מעלה-ומוריד לדעתי לא מספיק בשביל זה css, צריך js.
לדעתי אפשר לערוך את הסקריפט ש @yossiz כתב, רק צריך לבצע בו התאמות.
אולי בהזדמנות אני יעבור על זה...אולי @מוטי-אורן האלוף יקדים אותי
-
@פלורידה אמר בבקשה | סקריפט עבור אתר אגורה:
לדעתי לא מספיק בשביל זה css
מי דיבר על CSS ואיך הוא קשור לזה
לדעתי אפשר לערוך את הסקריפט ש @yossiz כתב
איזה, איפה?
-
מי דיבר על CSS ואיך הוא קשור לזה
בסוף תצטרך להגיע לזה
@מעלה-ומוריד אמר בבקשה | סקריפט עבור אתר אגורה:
איזה, איפה?
הביאו את זה כאן
-
@מעלה-ומוריד
הנה סימנייה שפותח את כל השורות שלא נפתחו (מדמה קליק על השורה)javascript:document.querySelectorAll('.objectsTitleTr').forEach(elm => { const details = elm.nextElementSibling.querySelector('.objectDetails'); if (!details || details.style.display === 'none') elm.click() })
-
@מעלה-ומוריד אני רואה ש @yossiz כבר הספיק לענות... אבל הסקריפט הזה עם קצת שיפצורים יכול להיות טוב:
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) { f = 'https://cdn.agora.co.il/deals_images/' + a + '/' + b + '.jpg'; const objectName = o.querySelector('.objectName'); objectName.innerHTML += '<img src="' + f + '" width="30">'; } -
@yossiz @מוטי-אורן
תודה רבה! -
@מוטי-אורן חלק נרחב מן התמונות אינו עולה
חוצמזה שאשמח אם תתאים לתוסף tampermonkeyשוב תודה על ההשקעה אתה ויוסי
זה לא מובן מאליו
ואני מאמין שתהיה מזה עוד תועלת לרבים -
@מוטי-אורן תיקון, רוב אלו מופיעים היכן שאין תמונה ממילא (יש מצב שלא יופיע כלום במקרה כזה?)
ישנם כמה מוצרים שאפי' שיש תמונה מופיעה השגיאה. -
@מעלה-ומוריד אני ינסה לעבוד על זה יותר מאוחר בלנ"ד
-
@מעלה-ומוריד בסוף מצאתי דרך.
מה שקורה זה שבלחיצה על אחד מהפריטים באגורה, נשלחת בקשה לשרת שלהם והוא מחזיר לדפדפן טקסט של 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">'; }) } -
@מוטי-אורן אמר בבקשה | סקריפט עבור אתר אגורה:
קוד
מעולה!,
מה שכן, התמונות אינן בגודלן המלא, אני משתמש בתוסף שבריחוף על תמונה מציג אותה בגודלה המלא, בסקריפט הראשון שלך, בריחוף על התמונות שכן הופיעו, הוא הציג בגודל מלא
בסקריפט השני, חלק מהתמונות הוא לא מציג כלל וחלקן מציג בגודל בו הם מופיעים באתר בעצמו שזה בערך ס"מ בריבועאבל עזוב אותך, אני סתם נודניק, זה נהדר
פוסט 12 מתוך 12