IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Empêcher l'affichage de la page blanche pendant le chargement de la page suivante


Sujet :

jQuery

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut Empêcher l'affichage de la page blanche pendant le chargement de la page suivante
    Bonjour à tous,

    Je suis à la recherche d'une méthode pour empêcher la page blanche entre le moment ou vous cliquez sur un lien, et le moment où la page suivante se charge. En gros, je souhaiterai afficher un div "CHARGEMENT" juste après le clic sur le lien, attendre le chargement de la page suivante, puis afficher instantanément la nouvelle page sans cette coupure blanche affreuse.

    Quelqu'un a la solution ?

    Merci !

  2. #2
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Points : 658
    Points
    658
    Par défaut
    Bonjour,
    je ne crois pas que cela puisse se faire directement en jquery mais à creuser.
    Sinon, voici un exemple jquery, ajax:
    page a charger:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <body onload="javascript:showAg(<?php echo $id?>)
    la fonction showAg(..) est déclarée dans un fichier js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    function showAgencement(id_agencement) {
    	loader_container_prev='<table><tr><td><img src="img/ajax-loader.gif" /></td><td class="loading_text">';
    	loader_container_post='</td></tr></table>';
    	div_lect_globale = '#bloc_lecture_globale';
    	if (jQuery(div_lect_globale).html() == '') {
    		jQuery(div_lect_globale).hide().html(loader_container_prev + loader_container_post).fadeIn();
    		//	asynchronous code
    		xmlhttp=getXmlHttpRequestObject();
    		xmlhttp.onreadystatechange=function() {
    			if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    				text=xmlhttp.responseText;
    			    if (jQuery.trim(text)==""){ 
    			    	//error found
    			      	jQuery(div_lect_globale).empty().html("Error occured while trying to retrieve data.");
    			    }else{    
    					jQuery(div_lect_globale).empty().html(text);	
    				}	
    			}	
    		}
    		url="get_agencement.php?id="+id_agencement; 
    		xmlhttp.open("GET",url,true);
    		xmlhttp.send();	
    	}	
    }
    Il te faudra déclarer une méthode function getXMLHTTP() {} dans ce fichier.
    Enfin dans get_agencement.php tu peux faire tes traitements longs: requêtes, etc... et affichage.

    Voilà j'espère que cela t'aidera.

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    cela serait possible uniquement à partir du moment ou l'on resterait sur la même page et que la navigation se ferait en ajax.

    d'une page à l'autre cela dépend du navigateur, et surtout du temps de chargement de la page de destination

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 249
    Points : 95
    Points
    95
    Par défaut
    Merci pour vos réponses.

    Je travaille en ASP.net C# couplé à jQuery... la solution que tu m'as donné fonctionne t-elle sur deux pages différentes ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 644
    Points : 66 671
    Points
    66 671
    Billets dans le blog
    1
    Par défaut
    tigunn ... heu un load() en jquery ne serait il pas plus simple ???

Discussions similaires

  1. Affichage d'une page pendant le chargement d'une page
    Par johnson95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/08/2008, 15h21
  2. Réponses: 3
    Dernier message: 10/08/2007, 11h32
  3. Réponses: 3
    Dernier message: 29/11/2006, 11h45
  4. page blanche pendant le chargement
    Par natsou_k dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 16/01/2006, 17h01
  5. Attente pendant le chargement de la page
    Par softflower dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 11/01/2006, 17h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo