Estoy tratando de detectar cuándo se ha cargado un iframe y su contenido pero no tiene mucha suerte. Mi solicitud toma alguna entrada en campos de texto en la ventana padre y actualiza el marco flotante para proporcionar una 'vista previa en vivo'Detectando cuando el contenido del iframe se ha cargado (navegador cruzado)
Empecé con el siguiente código (YUI) para detectar cuando se produce el evento de carga de marco flotante.
$E.on('preview-pane', 'load', function(){
previewBody = $('preview-pane').contentWindow.document.getElementsByTagName('body')[0];
}
'vista previa de una ventana' es el ID de mi iframe y estoy usando YUI para fijar el controlador de eventos. Sin embargo, al intentar acceder al cuerpo en mi devolución de llamada (en caso de carga iframe) falla, creo que porque el iframe se carga antes de que el controlador de eventos esté listo. Este código funciona si retraso la carga del iframe haciendo que el script php que lo genera duerma.
Básicamente, estoy preguntando cuál es el enfoque correcto en los navegadores para detectar cuándo se ha cargado el iframe y su documento está listo.
Comenzando con YUI es una mala idea (así como cualquier otra biblioteca JS). ¿Por qué? Porque no puedes saber qué magia está haciendo esa biblioteca. Si no pueden soportar la "carga" por completo, será mejor que lo hagas tú mismo en JavaScript legible y legible. – Christian
A menudo puede leer el código fuente de la biblioteca @Christian. Encuentro que esto generalmente te da buenos consejos sobre cómo hacerlo tú mismo, independientemente de si luego usas su implementación o no. – AJP
@AJP Has malinterpretado mi punto. Si está haciendo algo de lo que no está seguro, es mejor tener menos código, por lo que hay menos margen para errores. – Christian