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

JavaScript Discussion :

Rechargement de contenu et header


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut Rechargement de contenu et header
    Bonjour à tous,

    Je suis en train de réaliser un site pour ma société.
    Pour l'affichage des pages j'ai mis en place une solution js qui récupère l'adresse du lien, qui vide une balise div où il y a le contenu puis le remplace par le contenu de la page en question.
    Ceci permet d'éviter un rechargement global de la page.
    Cependant j'ai un problème que je n'arrive pas à régler :

    J'ai réalisé une interface d'administration avec un lien vers une page de déconnexion.
    Ma page de déconnexion contient un header sur ma page index.
    Le problème c'est que mon lien "se déconnecter" implique un rechargement de ma balise contenu ce qui fait qu'à la fin de l'opération je me retrouve avec une page index dans ma balise contenu ...

    J'ai beau tourner le problème dans tous les sens je n'arrive pas à trouver de solution ...

    Merci d'avance pour votre aide !

  2. #2
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Tu peux nous montrer le code en question ? ^^

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    Voici le code js pour le changement de contenu de ma balise avec l'id contenu :

    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
    var $c = jQuery.noConflict(); //Evite les conflits avec Mootools
    var test;
     
    $c(document).ready(function(){ // le document est chargé
    $c("a").click(function(){ // on selectionne tous les liens et on définit une action quand on clique dessus
    test = $c(this).attr('href'); // on recuperer l' adresse du lien
    $c.ajax({ // ajax
    url: test, // url de la page à charger
    cache: false, // pas de mise en cache
    success:function(php){ // si la requete est un succès
    afficher(php); // on execute la fonction afficher(donnees)
    },
    error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete
    }
    });
    return false; // on desactive le lien
    });
    });
     
    function afficher(donnees){ // pour remplacer le contenu du div contenu
    $c("#contenu").empty(); // on vide le div
    $c("#contenu").append(donnees); // on met dans le div le résultat de la requete ajax
    }

  4. #4
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Ce code ne concerne que les liens (<A>) : si tu veux éviter de modifier la fonction, tu peux contourner le problème en transformant ton lien de déconnexion en <span>, ce qui ne t'empêche pas d'attacher tous les traitements que tu veux, en l'occurrence ta fonction de déconnexion. Quitte à reconstituer à coup de règles CSS la même apparence que tes autres liens si c'est souhaitable.

    Ce n'est certainement pas la seule manière de procéder, mais je la suggère comme une piste possible

  5. #5
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 100
    Par défaut
    À mon avis, tu détournes le rôle d'Ajax. À quoi bon éviter un « rechargement global de la page » si tu charges dans une <div> le contenu d'une page entière ? Ça complique la conception du site (cf. ton problème), et ça perturbe également l'utilisateur, qui ne peut pas utiliser les fonctions habituelles d'historique et de marque-page de son navigateur.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    Ouais je sais bien mais ça évite de recharger toute la page et ses plugins js ...
    Je me demande si je ne vais pas l'enlever ... mais je trouvais le principe sympa.
    Pour le <span> je ne vois pas comment faire ?

  7. #7
    Membre Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par Petit Rasta Voir le message
    Ouais je sais bien mais ça évite de recharger toute la page et ses plugins js ...
    Je me demande si je ne vais pas l'enlever ... mais je trouvais le principe sympa.
    Pour le <span> je ne vois pas comment faire ?
    Qu'est-ce qui te pose problème pour le span ? (montre-nous éventuellement le code concernant le lien de déconnexion tel qu'il est en ce moment)

    Mais bon : ce n'était qu'une bidouille ponctuelle (ou "rustine" ^^) destinée à répondre à la problématique spécifique.
    D'une manière plus globale, c'est Watilin qui a raison

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Ouais je sais bien mais ça évite de recharger toute la page et ses plugins js ...
    Logiquement, tout les éléments sont mis en cache, donc il ne devrait pas y avoir de problème de chargement
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Par défaut
    Bon j'ai suivi vos conseils et j'ai donc désactivé ce code js.
    En fait je ne rechargeais pas entièrement la page mais uniquement le contenu texte-image du corps.
    En somme mes articles.
    Oui je pense que c'est gardé en cache mais il y a quand même un temps de latence à l'affichage du slideshow avec wamp ...
    Je pense que ce sera idem sur un serveur web de production.
    C'était essentiellement pour éviter ceci parce que à certain moment j'ai tout le contenu de ma page sauf le slideshow ce qui est un peu crado !
    Le slide en question est nivo-slider 2.6 mais j'ai remarqué qu'il plantait au bout d'un moment avec firefox.
    Les caption partent en vrille au bout de quelque passage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recharger le contenu d'une page sans rediriger
    Par moha93 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/03/2015, 10h04
  2. [PHP 5.3] contenu avant header, aucune erreur
    Par david0887 dans le forum Langage
    Réponses: 3
    Dernier message: 17/10/2010, 20h44
  3. Redirection proxy conditionnée par le contenu du header
    Par astrofiles dans le forum Apache
    Réponses: 3
    Dernier message: 22/02/2010, 12h52
  4. Réponses: 3
    Dernier message: 21/05/2009, 17h15
  5. Réponses: 3
    Dernier message: 07/12/2008, 21h00

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