Widget fehlt bei dynamisch nachgeladenen Inhalten
Das Widget initialisiert sich einmal, wenn die Seite lädt. Alles, was danach per JavaScript zur Seite hinzugefügt wird, wird nie verarbeitet, daher fehlen dort die Bewertungen.
Das begegnet Ihnen bei:
- Endlos-Scroll (Infinite Scroll) auf Kategorie- und Listing-Seiten,
- AJAX-Filtern, die das Produktraster ersetzen, ohne die Seite neu zu laden,
- Single-Page-Apps (React, Vue, Next.js im clientseitigen Routing), bei denen die Navigation das Dokument nicht neu lädt,
- Quick-View und Modal-Fenstern, die dynamisch erzeugt werden.
Die Lösung: neu initialisieren, sobald der neue Inhalt da ist
Rufen Sie die Init-Funktion erneut auf, sobald die neuen Elemente im DOM vorhanden sind. Verwenden Sie dieselbe Nutzer-ID und Einstellungen wie in Ihrem ursprünglichen Snippet, und zielen Sie auf den neu hinzugefügten Container ab.
<script> // Rufen Sie dies NACH dem Nachladen neuer Karten auf, nicht beim Start der Seite. function refreshJustReview() { initStars("YOUR_USER_ID", { /* die gleichen Einstellungen wie in Ihrem Snippet */ }); }</script>Wo Sie es aufrufen, hängt von Ihrer Plattform ab:
Endlos-Scroll oder AJAX-Filter. Die meisten Skripte lösen ein Ereignis aus oder akzeptieren
einen Callback, wenn die neue Charge eingefügt wird. Rufen Sie refreshJustReview() dort auf.
Ein generischer Fallback: den Container beobachten. Gibt es kein Ereignis, an das Sie sich hängen können, beobachten Sie das Raster und initialisieren Sie neu, wenn neue Knoten erscheinen.
<script> var grid = document.querySelector('#product-grid'); // Ihr Container if (grid) { new MutationObserver(function () { refreshJustReview(); }).observe(grid, { childList: true }); }</script>Single-Page-Apps. Rufen Sie es nach jedem Routenwechsel auf, in dem Hook, den Ihr Framework für “Navigation abgeschlossen” bereitstellt.
Widget hat funktioniert und dann vollständig aufgehört
Das ist ein anderes Problem. Prüfen Sie der Reihe nach:
- Ihre Domain-Whitelist in Settings stimmt weiterhin
mit Ihrer Adresse überein. Ein Wechsel von
httpzuhttps, oder das Hinzufügen vonwww, ändert sie. - Das Container-Element ist noch auf der Seite vorhanden. Theme-Updates und Änderungen im Page-Builder entfernen es überraschend oft.
- Ein Caching- oder Optimierungs-Plugin hat begonnen, das Skript zu verzögern (defer), zu
kombinieren oder zu minifizieren. Schließen Sie
justreview.jsvon der JavaScript-Optimierung aus. - Das Snippet wurde im Dashboard neu generiert, aber nicht auf Ihrer Website ersetzt, sodass es weiterhin die alten Einstellungen trägt.