Evénement jQuery lors du chargement d’une nouvelle page dans iFrame

J’essaie de configurer un événement sur le parent qui se déclenche lorsqu’un iframe charge une nouvelle page (probablement via l’utilisateur qui clique sur un lien).

HTML:

 

JS:

 $(document).ready(function() { $('iframe#posts').live('load', function() { console.log('live'); }); }); 

Le problème est que l’ console.log() n’est jamais déclenchée. Comment puis-je atteindre ce que j’essaie de faire?

Ma meilleure hypothèse est que l’événement ‘load’ sur l’iframe s’est déclenché avant l’événement ‘prêt’ sur le document, ce qui signifie que le gestionnaire est installé trop tard. Vous devrez peut-être utiliser la onload à l’ancienne dans l’élément iframe lui-même.

Ou vous pouvez simplement mettre l’extrait de code $('iframe#posts').live() dans un script de niveau supérieur plutôt que dans le gestionnaire Ready.

Le moyen le plus simple de résoudre votre problème est de créer également votre iframe avec jQuery.

 $(document).ready(function() { $("").attr({ id: "posts", src: "edit.php" }).load(function() { console.log('live'); }).appendTo("body"); 

Cette question a été posée ici auparavant .

La façon dont j’utilise est