Quitar el logo de carga cuando un archivo se termine de descargar
Publicado por Octavio (1 intervención) el 15/02/2024 17:36:03
Hola que tal! Tengo una duda, estoy en un proyecto en MVC .NET que consiste en una pagina web que esta local de momento, en el que el usuario llena un formulario con unos determinados datos en el apartado de vista, y hasta abajo hay un boton, cuando se le da click al boton, en la parte del controlador, los datos que el usuario ingresó en los inputs se pasan a una plantilla de word y llena esa plantilla, despues lo descarga en PDF a la computadora.
Pero quiero que en lo que dura todo ese proceso, se muestre un logo de carga para indicar que aun se sigue procesando el PDF, pero cuando se termina de descargar el documento, el logo nunca desaparece.
Saben si hay alguna manera de detectar cuando la descarga haya finalizado? Todo el tema del logo de carga lo estoy manejando con javascript pero no funciona.
Gracias.
</script>
Pero quiero que en lo que dura todo ese proceso, se muestre un logo de carga para indicar que aun se sigue procesando el PDF, pero cuando se termina de descargar el documento, el logo nunca desaparece.
Saben si hay alguna manera de detectar cuando la descarga haya finalizado? Todo el tema del logo de carga lo estoy manejando con javascript pero no funciona.
Gracias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!-- Agrega un iframe oculto en tu HTML -->
<iframe id="pdfFrame" style="display: none;"></iframe>
<script>
document.getElementById("AssignationLetter").addEventListener("submit", function () {
// Mostrar círculo de carga y ocultar botón
document.getElementById("loading-container").style.display = "block";
document.getElementById("generateBtn").style.display = "none";
// Obtener el iframe
var pdfFrame = document.getElementById("pdfFrame");
// Agregar un evento de carga al iframe para detectar cuando se completa la descarga del PDF
pdfFrame.onload = function () {
// Ocultar el contenedor de carga y mostrar el mensaje de éxito
document.getElementById("loading-container").style.display = "none";
document.getElementById("mensaje").style.display = "block";
document.getElementById("generateBtn").style.display = "block"; // Mostrar el botón nuevamente
// Ocultar el mensaje después de unos segundos
setTimeout(function () {
document.getElementById("mensaje").style.display = "none";
}, 3000); // Ocultar mensaje después de 3 segundos
};
// Actualizar la acción del formulario para dirigir la descarga al iframe oculto
this.action = "/Word/GenerateWord?iframe=true";
});
</script>
Valora esta pregunta
0