Hash- und nicht-Hash-Clientlibs werden in Adobe Experience Manager zusammen geladen
In Adobe Experience Manager (AEM) führt der Export von Experience Fragments nach Adobe Target dazu, dass sowohl gehashte als auch nicht gehashte Versionen derselben Client-Bibliothek auf der Seite geladen werden. Dies führt zu einer doppelten JavaScript-Ausführung ohne sichtbare Fehler. Um dieses Problem zu beheben, implementieren Sie die empfohlene Client-Bibliotheksüberlagerung, sodass nur die gehashte Client-Bibliothek geladen wird.
Beschreibung description
Umgebung
- Produkt: Adobe Experience Manager, Adobe Experience Manager as a Cloud Service (alle Versionen)
- Version: 6.5
- Instance: Experience Fragments nach Adobe Target exportiert
Problem/Symptome
- Beim Exportieren von Experience Fragments nach Adobe Target und Bereitstellen auf einer Target-gesteuerten Seite werden zwei Versionen derselben Client-Bibliothek geladen.
- Eine von Target bereitgestellte Seite lädt zwei Versionen derselben Client-Bibliothek.
- Eine Datei enthält einen Hash im Dateinamen, z. B.
clientlibs/cws/clientlibs/clientlib-jpm/clientlib-site.min.<project-name>.js. - Eine Datei verwendet einen nicht gehashten Dateinamen, z. B.
clientlibs/cws/clientlibs/clientlib-jpm/clientlib-site.min.js. - Beide Dateien enthalten identischen JavaScript-Code.
- Auf der Seite wird doppelter JavaScript ausgeführt, ohne dass Fehlermeldungen angezeigt werden.
Ursache
Standardmäßig können sowohl die AEM-Seite als auch das exportierte Experience Fragment dieselbe Client-Bibliothek enthalten, was zu einem doppelten Laden führt. Die Überlagerung stellt sicher, dass nur die eigene gehashte Client-Bibliothek der Seite enthalten ist, was das beabsichtigte und unterstützte Verhalten ist.
Lösung resolution
Gehen Sie wie folgt vor, um dieses Problem zu beheben:
- Lesen Sie die Dokumentation zur Experience Fragments-Integration und bestätigen Sie, dass die Client-Bibliotheksüberlagerung wie beschrieben implementiert ist.
- Bestätigen Sie, dass nach dem Anwenden der Überlagerung nur die gehashte Client-Bibliothek (z. B.
clientlib-site.min.<project-name>.js) auf der von Target bereitgestellten Seite geladen wird. - Überprüfen Sie, ob die nicht gehashte Version (
clientlib-site.min.js) nicht mehr in der Seitenquelle vorhanden ist. - Testen Sie die Seite, um sicherzustellen, dass es keine doppelte JavaScript-Ausführung gibt und alle erwarteten Funktionen vorhanden sind.