/** * Event-Listener für die Geräte-Rotation (orientationchange) * Führt Elementor-Neuberechnungen aus, um Darstellungsfehler zu beheben. */ document.addEventListener('DOMContentLoaded', () => { // Überprüfen, ob die Elementor-API verfügbar ist if (window.elementorFrontend && window.elementorFrontend.elements) { // Funktion, die die Elementor-Elemente neu initialisiert/rendert const refreshElementorWidgets = () => { // Die Methode elementorFrontend.elements.all.forEach() iteriert über alle // geladenen Elementor Widgets auf der Seite. window.elementorFrontend.elements.all.forEach((element) => { // Wir suchen nach Elementen, die eine 'resize'-Methode haben, // da der Header und ähnliche Widgets oft diese Methode nutzen, // um sich an neue Bildschirmgrößen anzupassen. if (element.hasOwnProperty('resize')) { element.resize(); } // Alternativ/zusätzlich: Manchmal hilft auch eine generische // window.dispatchEvent(new Event('resize')); // um alle responsive Skripte des Browsers zu triggern, // aber der spezifische Aufruf ist oft sauberer. }); console.log('Elementor Header/Widgets nach Rotation neu getriggert.'); }; // Event-Listener für die Geräte-Rotation einrichten // 'orientationchange' ist das Standard-Event für Mobile/Tablet-Rotation window.addEventListener('orientationchange', () => { // Wir verwenden setTimeout, um dem DOM Zeit zu geben, die neue // Größe zu registrieren, BEVOR Elementor neu berechnet. setTimeout(refreshElementorWidgets, 500); // 500ms Verzögerung }); } else { console.warn('Elementor Frontend API nicht gefunden. Der Rotation-Fix wird nicht ausgeführt.'); } });