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

1/5 (28 avis)

Snippet vu 49 178 fois - Téléchargée 38 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
cs_Baptiste852 Messages postés 2 Date d'inscription samedi 21 avril 2007 Statut Membre Dernière intervention 25 juillet 2008
30 nov. 2008 à 02:21
Est-ce possible d'avoir le même code pour PHP ?

Cordialement.
juju 92 Messages postés 4 Date d'inscription jeudi 24 mai 2007 Statut Membre Dernière intervention 24 mai 2007
24 mai 2007 à 17:41
Bonjour,

Désolé d'apporter une touche négative à ce concert de louanges (car c'est assez pratique) mais je souhaite vous mettre en garde parce que j'ai passé une journée à résoudre un pb qui venait de l'inclusion du fichier wait.asp....alors si ça peut servir à d'autres pour résoudre le problème.

Mon site (ASP) récupère en POST différentes valeur de formulaire afin de les insérer dans une base de données(classique quoi). Certaines sont de type texte et peuvent contenir des simples quotes. Le traitement classique est de récupérer la valeur avec Request.Form et par exemple de doubler les simples quotes avant insertion en base.

Pour une raison obscure(plus maintenant), l'insertion du fichier wait.asp, me retourne des valeur de champ text incomplètes tronquées avant la simple quote...et là pour trouver, j'aime mieux vous dire que je me suis tellemment arraché de cheveux que Barthez n'a qu'à bien se tenir.

En fait je pense que lorsque les paramètres sont recréés dans wait.asp, la partie de champs situé après les simples quote passent à la trape. J'ai pas eu vraiment le temps de m'attarder sur le problème, un jour viendra....

Bien sûr j'effectue une modification des simples quotes côté client (javascript), mais en cas de désactivation Javascript .....
chalet_a_biot Messages postés 1 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 9 mai 2007
9 mai 2007 à 23:38
Bonjour,

Je souhaitais utiliser ce code, à partir de pages PHP.
J'ai fais un test cela ne fonctionne pas.

Est-ce que vous avez une astuce ?
Ou est-ce que vous avez une autre solution ?

Merci d'avance.
cs_Chrigou Messages postés 30 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 27 juin 2008
17 avril 2007 à 08:20
Effectivement, je confirme que sous Firefox ça affiche una page blanche. J'ai fait une petite modif et ça à l'air de fonctionner maintenant. Il faut remplacer la partie HTML par celle-ci:
(en fait j'ai mis l'appel du formulaire dans la balise BODY)

<html>
<head>
<title>Please Wait...</title>
</head>

<TABLE BORDER= 0 CELLPADDING=0 CELLSPACING=1 Class="Table" width="250" height="1">
----, Chargement en cours </td>
----
Veuillez patienter...

</td>
</tr>
</TABLE>


<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 ""
Next %>
</form>



</html>
Boreux Messages postés 45 Date d'inscription jeudi 31 juillet 2003 Statut Membre Dernière intervention 29 novembre 2010
22 mai 2006 à 08:57
Sorry, je ne développe que sous IE
(je n'y ai pas d'action, mais je développe en intranet, dans ma société, qui ne supporte QUE IE)

Je fais dont part de mes idées de temps en temps, reste à corriger pour les autres browser
Afficher les 28 commentaires

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.