Tengo que cargar un PDF dentro de una página.
Idealmente, me gustaría tener un gif animado de carga que se reemplaza una vez que se ha cargado el PDF.
javascript
jquery
Alex Andronov
fuente
fuente
Has probado:
fuente
$(function({})
para que el marco se cargue primero. Pero no estoy obteniendo el resultado esperado. Chrome 25 MacEsto lo hizo por mí (no pdf, sino otro
onload
contenido " resistente"):Espero que esto ayude.
fuente
setTimeout(WaitForIFrame, 200);
Estoy intentando esto y parece que me está funcionando: http://jsfiddle.net/aamir/BXe8C/
Archivo pdf más grande: http://jsfiddle.net/aamir/BXe8C/1/
fuente
Loading PDF...
pero cuando actualicé la página, dijoPDF Loaded!
. Pero esto parece funcionar con URL :) así que es muy útil para mí. ¡Gracias!¿has probado .ready en su lugar?
fuente
Probé un enfoque listo para usar para esto, no lo he probado para contenido PDF pero funcionó para contenido normal basado en HTML, así es como:
Paso 1 : envuelva su iframe en una envoltura div
Paso 2 : agregue una imagen de fondo a su contenedor div:
Paso 3 : en tu etiqueta iframe, agrega
ALLOWTRANSPARENCY="false"
La idea es mostrar la animación de carga en el div contenedor hasta que se cargue el iframe después de que haya cargado, el iframe cubriría la animación de carga.
Darle una oportunidad.
fuente
El uso de jquery Load y Ready ninguno parecía coincidir realmente cuando el iframe estaba REALMENTE listo.
Terminé haciendo algo como esto
Donde #loader es un div absolutamente posicionado sobre el iframe con un gif giratorio.
fuente
@Alex aw eso es un fastidio. ¿Qué pasaría si en tu
iframe
tuvieras un documento html que se pareciera a:Definitivamente un truco, pero podría funcionar para Firefox. Aunque me pregunto si el evento de carga se dispararía demasiado pronto en ese caso.
fuente
Tuve que mostrar un cargador mientras se cargaba pdf en iFrame, así que lo que se me ocurre:
Estoy mostrando un cargador. Una vez que estoy seguro de que el cliente puede ver mi cargador, llamo al método de cargadores onCompllet que carga un iframe. Iframe tiene un evento "onLoad". Una vez que se carga el PDF, se activa el evento onloat donde estoy escondiendo el cargador :)
La parte importante:
iFrame tiene un evento "onLoad" en el que puede hacer lo que necesite (ocultar cargadores, etc.)
fuente
Esto es lo que hago para cualquier acción y funciona en Firefox, IE, Opera y Safari.
fuente
Si puede esperar que la interfaz de abrir / guardar del navegador aparezca para el usuario una vez que se complete la descarga, entonces puede ejecutar esto cuando inicie la descarga:
Cuando el diálogo aparece en la parte superior de la página, se activará el evento de desenfoque.
fuente
Dado que después de que se cargue el archivo pdf, el documento iframe tendrá un nuevo elemento DOM
<embed/>
, por lo que podemos hacer la verificación de esta manera:fuente
La solución que he aplicado a esta situación es simplemente colocar una imagen de carga absoluta en el DOM, que será cubierta por la capa de iframe después de que se cargue el iframe.
El índice z del iframe debería ser (índice z de carga + 1), o simplemente superior.
Por ejemplo:
Espero que esto ayude si ninguna solución de javaScript lo hizo. Creo que CSS es la mejor práctica para estas situaciones.
Atentamente.
fuente