Page du servlet personnalisé de création AEM bloquée lors du chargement de la double flèche dans Experience Cloud Shell
Découvrez comment résoudre le problème lorsque les pages de servlet personnalisées dans l’instance de création AEM restent bloquées sur une double flèche de chargement lors de l’accès via l’iframe du shell Experience Cloud.
Description description
Lors de l’accès à une servlet personnalisée ou à une page HTML à partir de l’instance de création AEM, la page se charge dans un iframe Experience Cloud Shell. Dans ce scénario, la page semble bloquée sur une superposition de charge, même si le contenu HTML est présent dans l’iframe. Ce problème est reproductible pour plusieurs utilisateurs lorsque Unified Shell est activé et qu’il n’y a pas de modifications récentes apportées au code du servlet. D’autres paramètres d’URL (tels que _mr et shell_domain) sont ajoutés automatiquement. L’ouverture de la même URL de servlet directement dans un nouvel onglet du navigateur (en dehors du contexte Unified Shell) rend la page correctement sans la double flèche. La désactivation d’Unified Shell ou l’accès au servlet via le chemin d’accès à la ressource directe permet également au rendu de la page de s’effectuer comme prévu.
Environnement
- Auteur Adobe Experience Manager (AEM)
- Déploiements AEM as a Cloud Service (AEMaaCS) et On-Premise
Symptômes
- Lorsqu’elle est accessible via l’iframe Experience Cloud Shell, la page de servlet personnalisée reste masquée derrière une superposition Spinner de chargement.
- Le contenu HTML est présent dans l’iframe, mais non visible.
- L’accès direct à l’URL du servlet (en dehors du shell) fonctionne comme prévu.
Cause
Experience Cloud Unified Shell s’attend à ce qu’un signal prêt pour le contenu provenant des pages chargées ignore la superposition de la double flèche. Les réponses de servlet personnalisées qui ne chargent pas le JavaScript de la structure standard de l’éditeur d’AEM n’envoient pas ce signal, ce qui entraîne le blocage indéfini de la double flèche. L’accès direct au servlet (en dehors du shell) évite ce problème.
Résolution resolution
Suivez les étapes ci-dessous pour résoudre le problème :
- Accédez au servlet personnalisé via l’itinéraire d’Experience Cloud Shell (par exemple :
/ui#/aem/your/servlet/path). - Observez si la page reste bloquée sur la superposition de la double face de chargement, même si le contenu HTML est présent dans l’iframe.
- Copiez l’URL complète du servlet (y compris les paramètres ajoutés) depuis l’onglet réseau du navigateur.
- Ouvrez cette URL directement dans un nouvel onglet du navigateur (en dehors du contexte Unified Shell).
- Vérifiez que la page s’affiche correctement sans la double flèche.
- Mettez à jour les liens, les signets ou les chemins de navigation pour qu’ils pointent directement vers le chemin de la ressource de servlet (par exemple :
/content/your/site/servlet.html), en contournant Unified Shell. - Si Unified Shell est requis pour d’autres parties de votre environnement AEM, limitez cette solution au workflow de servlet personnalisé uniquement. Assurez-vous que les utilisateurs accèdent au servlet par le biais d’un lien simple ou dans un onglet de navigateur distinct, et non par le biais de la navigation dans la page/l’arborescence de contenu d’AEM, qui génère l’itinéraire encapsulé dans Shell.
- (Facultatif) Passez en revue tout code côté client dans la sortie de servlet qui peut dépendre de
window.top,window.parentou de constructions similaires, car elles peuvent se comporter différemment dans l’iframe Unified Shell.
Après l’application de cette solution, les utilisateurs doivent pouvoir accéder à la page du servlet personnalisé sans rencontrer la double flèche de chargement bloquée.