ERRO - Tempo limite de script expirado
Utilizar o response.flush() e abrir um modal informando que o documento esta sendo gerado
<%
If Not RS.Eof Then
i = 0
Response.Write("<script>showModal();</script>")
Response.Flush()
Do While Not RS.Eof
' Processamento aqui
' Exemplo de como usar o Flush para liberar conteúdo
Response.Write("<!-- liberando buffer -->")
Response.Flush()
' Próximo registro
RS.MoveNext
Loop
' Fechar modal após término do loop
Response.Write("<script>closeModal();</script>")
Response.Flush()
End If
%>
<style>
/* Estilos para o modal e spinner */
.modal {
display: none;
position: fixed;
z-index: 9999;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4);
}
.modal-content {
margin: auto;
padding: 20px;
background-color: white;
border-radius: 8px;
width: 200px;
text-align: center;
}
.spinner {
border: 6px solid #f3f3f3;
border-radius: 50%;
border-top: 6px solid #3498db;
width: 40px;
height: 40px;
animation: spin 1s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
</style>
<div id="loadingModal" class="modal">
<div class="modal-content">
<div class="spinner"></div>
<p>Gerando informações...</p>
</div>
</div>
<script>
function showModal() {
document.getElementById("loadingModal").style.display = "block";
}
function closeModal() {
document.getElementById("loadingModal").style.display = "none";
}
// Exibir o modal assim que o processamento começar
showModal();
</script>