J'ai besoin d'exécuter un callback lorsqu'un IFRAME a fini de se charger. Je n'ai aucun contrôle sur le contenu de la IFRAME, je ne peux donc pas lancer la fonction de rappel à partir de là.
Cette IFRAME est créée de manière programmatique, et j'ai besoin de passer ses données comme une variable dans le callback, ainsi que de détruire l'iframe.
Des idées ?
EDITAR:
Voici ce que j'ai maintenant :
function xssRequest(url, callback)
{
var iFrameObj = document.createElement('IFRAME');
iFrameObj.src = url;
document.body.appendChild(iFrameObj);
$(iFrameObj).load(function()
{
document.body.removeChild(iFrameObj);
callback(iFrameObj.innerHTML);
});
}
Ce rappel a lieu avant que l'iFrame ne soit chargée, de sorte que le rappel ne renvoie aucune donnée.
1 votes
Je pense que vous ne voulez pas attacher le gestionnaire d'événement sur l'iframe lui-même mais sur sa fenêtre de contenu.
1 votes
Le problème est la demande inter-domaine. Vous ne pouvez pas le faire si l'iframe provient d'un autre domaine.
0 votes
En fait, il y a un événement de chargement sur l'objet iframe qui se déclenche chaque fois que l'iframe termine le chargement d'un document, sinon, il faudrait se connecter à la fenêtre après chaque chargement.
0 votes
Voir aussi stackoverflow.com/questions/205087/
0 votes
Voir ma réponse ici : stackoverflow.com/a/36155560/3894981
0 votes
Vérifier nczonline.net/blog/2009/09/15/iframes-onload-and-documentdomain