Skip to main content

26th OpenAIRE Graph Community Call

OpenAIRE Graph Community Calls. New developments, Use Cases & API, How it Works. Are you interested in the OpenAIRE Graph and how to use it? Are you a developer, computer scientist, or research data analyst or scientist? Joint he conversation in our dedic

Are you interested in the OpenAIRE Graph and how to use or contribute to it? Join the conversation in our dedicated Community Calls. Open to all, we want to hear from you! Stay tuned for this month's topic.

Event Information

Event Date Wednesday, 18 November 2026
Event End Date Wednesday, 18 November 2026
document.addEventListener("DOMContentLoaded", function() { function fixImages() { document.querySelectorAll('img').forEach(function(img) { var src = img.getAttribute('src'); if (src && src.startsWith('images/')) { img.setAttribute('src', '/' + src); } }); } // Εκτέλεση κατά το πρώτο φόρτωμα fixImages(); // Παρακολούθηση της σελίδας για dynamic αλλαγές (π.χ. lazy loading) var observer = new MutationObserver(fixImages); observer.observe(document.body, { childList: true, subtree: true }); }); document.addEventListener("DOMContentLoaded", function() { function bypassBrokenCache() { document.querySelectorAll('img').forEach(function(img) { var currentSrc = img.getAttribute('src'); if (currentSrc) { // Περίπτωση Α: Η εικόνα περνάει από το com_ajax cache του YOOtheme if (currentSrc.includes('com_ajax') && currentSrc.includes('&src=images/')) { // Απομονώνουμε το κομμάτι μετά το &src= var parts = currentSrc.split('&src='); if (parts[1]) { var realPath = parts[1].split('&')[0]; // Παίρνουμε μόνο το path της εικόνας img.setAttribute('src', '/' + decodeURIComponent(realPath)); } } // Περίπτωση Β: Η εικόνα είναι απλό relative path χωρίς slash else if (currentSrc.startsWith('images/')) { img.setAttribute('src', '/' + currentSrc); } } }); } // Εκτέλεση παντού και συνεχώς (για lazy loading και tabs) bypassBrokenCache(); var observer = new MutationObserver(bypassBrokenCache); observer.observe(document.body, { childList: true, subtree: true }); document.addEventListener('click', function() { setTimeout(bypassBrokenCache, 50); setTimeout(bypassBrokenCache, 200); }); });