Afficher message d'attente (page en cours de chargement) pendant la construction de la page asp

Soyez le premier à donner votre avis sur cette source.

Snippet vu 47 961 fois - Téléchargée 36 fois

Contenu du snippet

L'idee est simple :
Faire patienter l'utilisateur avec un message d'attente
pendant le chargement (parfois assez long) de la page (construction cote server)'

Principe :
- Savoir de quelle maniere les parametres ont ete poste (GET / POST)
- Recuperer les infos postees (FORM / QUERYSTRING)
- Afficher le message d'attente
- Reposter les infos

Ajouter <!--#include file="WAIT.asp"--> comme première ligne dans vos pages ASP

Le code du fichier WAIT.asp est ci-joint. Ca marche dans mon application, mais il faudrait tester chez vous pour voir si tous les cas fonctionnent...

Source / Exemple :


<%
'-- Initialisation variable WAIT_refresh
' Permet de savoir si on a deja affiche l'ecran d'attente ou pas (valeur = 1 ou 0)
if isempty(session("WAIT_refresh")) OR isnull(session("WAIT_refresh")) then
	session("WAIT_refresh")="0"
end if

'-- Si on a pas encore affiche le message d'attente (WAIT_refresh=0) :
'
' On l'affiche, on prepare la redirection, et on arrete le traitement de la page en cours,
' et on signale que l'on a deja affiche le message d'attente (WAIT_refresh)
if session("WAIT_refresh")="0" then
	session("WAIT_refresh")="1"
	%>
	<html>
	<head>
	<title></title>
	<!--#include file="styles.inc"-->
	</head>
	<body>
	<TABLE BORDER=0 align="center" height="100%">
		<tr>
			<td height="100%" valign="middle">
				<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=1 CLASS="Table" width="250" height="1">
					<TR class="Table_Titre"><td class="Table_Titre">Chargement en cours</td></TR>
					<TR class="Table_SSTitre"><td  class="Table_SSTitre" align="center"><br><img src="await.gif"><br>Veuillez patienter...<br>&nbsp;</td></TR>
				</table>
			</td>
		</tr>
	</TABLE>
	<DIV style="visibility:hidden">
		<form name="WAIT_go" method="post" action="http://<%=request.servervariables("SERVER_NAME")%><%=request.servervariables("PATH_INFO")%><%if request.servervariables("QUERY_STRING") <>"" then%>?<%=request.servervariables("QUERY_STRING")%><%end if%>">
			<%
			for each item in request.form
				response.write "<input type='hidden' name='" & item & "' value='" & request.form(item) & "'>"
			next
			%>
		</form>
	</div>
	<script>
	<!--
		document.WAIT_go.submit();
	//-->
	</script>
	</body>
	</html>
	<%
	response.end
else
	'
	'-- Si on a deja affiche le message d'attente (WAIT_refresh=1):
	'
	' On ne fait rien, mais on signale que l'on ne veux plus le message d'attente (WAIT_refresh)
	'
	session("WAIT_refresh")="0"
end if
%>

A voir également

Ajouter un commentaire

Commentaires

ThunderPsycho
Messages postés
180
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
4 février 2007
-
Ouai c pas mal et bien commenté, mais il faut vraiment avoir des requêtes ou des opérations lourdes pour avoir des traintements supérieurs à 1 seconde...

Je trouve qu'il est plus intéressant d'avoir un message d'attente sur une page web lors du téléchargement du code et des graphismes, mais c'est mon avis :o)

-> 7/10
Boreux
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010
-
Benh oui, d'ou ma remarque :

[B]Faire patienter l'utilisateur avec un message d'attente
8pendant le chargement (parfois assez long) de la page (construction cote server)'/B

Ici, je suis en Intranet, et c'est utile pour mes applications qui accèdent à de nombreux enregistrements (J'attaque des Bases Oracle)...
cs_Keneyda
Messages postés
41
Date d'inscription
lundi 30 décembre 2002
Statut
Membre
Dernière intervention
27 mars 2009
-
Tres bon script,
Pour ThunderPsycho : "Il est effectivement non nécessaire pour les requetes courtes, mais peut etre fortement utilile lorsque la page est composé de multiple tableaux imbriqués qui sont souvent le faites de l'attente des pages..."

Pour Boreux : "Rien a redire... Chapeau..., mise en place tres tres simple..."


Bon prog a tous,

Keneyda
Boreux
Messages postés
45
Date d'inscription
jeudi 31 juillet 2003
Statut
Membre
Dernière intervention
29 novembre 2010
-
Une petite remarque aux programmeurs qui utilisent ce code pour revenir à la page précédente :

[javascript:history.go(-1) Retour]

Ceux-ci devront mettre (-2) pour revenir sur la page précédente... Effectivement, il y a une page intermédiaire maintenant : WAIT.ASP
ThunderPsycho
Messages postés
180
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
4 février 2007
-
Ok, ce que je voulais dire c'est que même sur des requêtes multiples et des opérations lourdes sur celles-ci, si ton serveur mets + d'une seconde pour compiler ton code, l'exécuter et générer un résultat,
il y a peut-être du travail à faire au niveau de l'optimisation de ton ou tes serveurs webs, et de tes serveurs de base de données.

Perso je gère un cluster web où sur nos sites à forte charge, le délai de réponse d'un serveur doit être < 1 seconde en pointe afin de ne pas pénaliser la navigation, surtout quand plusieurs fichiers asp sont appelés par page......

Bonne continuation

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.