Dynamique iframe onload pas de tir?
Je figure ceci est possible car il y a une tonne de questions similaires (qui ont été résolu), mais aucune ne semble traiter de créer dynamiquement des iframes.
Fondamentalement, je suis en utilisant jquery pour créer un temp iframe pour charger les fichiers (à partir d'un chemin d'accès au fichier, desservis par un appel ajax) pour ensuite ouvrir un fichier à l'invite de téléchargement.
Tout fonctionne, mais pour garder mon DOM à partir remplie par un groupe de cadres iframe, je voudrais que les iframes être retiré une fois que le fichier est téléchargé.
Mon iframe code de création:
$('<iframe class="downloadIFrame" src="'+data['url']+'"></iframe>').appendTo('body');
Et le code de la détruire (dans le "prêt" de jquery rappel d'événement):
$('.downloadIFrame').live('load', function() { alert('loaded');$(this).remove(); });
Je n'ai pas l'alerte que l'iframe a été chargé, de sorte qu'il n'est pas appelé. Aucune idée?
- où est le deuxième extrait de code situé? il doit être avant le premier extrait et/ou à l'extérieur de l' .prêt gestionnaire d'événements.
- la création de l'iframe est une fonction à l'extérieur de l' .prêt qui est appelée à partir d'un gestionnaire onclick.
Vous devez vous connecter pour publier un commentaire.
live
travaux sur le mécanisme de remontée d'événements où queiframe
load
événement n'est pas une action de l'utilisateur déclenchée. Si vous ne pouvez pas utiliserlive
pour gérer laiframe
charge de l'événement.Aussi avant de définir la
src
de l'iframe, vous devez connecter leiframe
load
gestionnaire d'événement. C'est pour éviter le cas lors de l'iframe est chargé avant l'événement de chargement est jointe.Essayer cette
N'utilisez pas de vivre à l'écoute.
Fonctionne très bien pour moi dans Webkit.
Je voudrais essayer de mettre l'alerte code dans les dom de l'iframe que vous avez créé vous - il a son propre dom, donc sa propre hiérarchie d'événements etc.
Penser comme un tout distinct de la page.