Nous utilisons jQuery boîte épaisse pour afficher dynamiquement une iframe lorsque quelqu'un clique sur une image. Dans cette iframe, nous utilisons galleria une bibliothèque javascript pour afficher plusieurs images.
Le problème semble être que $(document).ready
dans l'iframe semble être déclenché trop tôt et le contenu de l'iframe n'est même pas encore chargé, donc le code de la galleria n'est pas appliqué correctement sur les éléments du DOM. $(document).ready
semble utiliser l'état ready du parent de l'iframe pour décider si l'iframe est prêt.
Si nous extrayons la fonction appelée par le document prêt dans une fonction séparée et l'appelons après un délai d'attente de 100 ms. Cela fonctionne, mais nous ne pouvons pas prendre le risque en production avec un ordinateur lent.
$(document).ready(function() { setTimeout(ApplyGalleria, 100); });
Ma question : quel événement jQuery doit-on lier pour pouvoir exécuter notre code lorsque l'iframe dynamique est prêt et pas seulement lorsqu'il est parent ?
1 votes
Et vous confirmez que Galleria fonctionne lorsque vous le chargez directement au lieu de passer par un iframe, correct ?
0 votes
Oui, galleria fonctionne parfaitement lorsque nous l'utilisons directement dans une page normale.
0 votes
Duplicata possible de Callback Javascript lorsque le chargement de l'IFRAME est terminé ?