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 :

Changer de page sans chargement


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Juin 2007
    Messages : 130
    Par défaut Changer de page sans chargement
    Voila mon problème, Depuis quelques jours, j'essai de créer des pages web avec 3 divs:
    _en tete
    _menu
    -contenu

    Comme mon en tete et mon menu sont toujours les meme, ce n'est pas la peine que je les refasse pour chaque page. J'essaye donc de trouver une solution qui puisse me permettre de ne modifier que le contenu en cliquant sur un lien du menu.

    Il existe plusieures solutions:
    _Les frames mais cette solution est a proscrire car elle n'est pas acceptée par les normes du W3C.
    _AJAX qui à l'air d'être une bonne technique mais j'ai essayer de suivre des tutoriaux expliquant comment sa marche mais il y'a trop de variable que je ne comprend pas. Je n'arrive pas à comprendre et donc je suis tout a fait incapable de m'en servir.

    J'ai donc eu une idée ce matin mais je ne suis pâs sur que sa puisse marcher et je ne trouve pas le code approprié. Voici ce à quoi j'ai pensé:

    Je pourrais créer une page unique avec mon en tete, mon menu, et le contenu de toutes les pages que je voulais créer. Ensuite il me suffirai d'en afficher une au chargement de la page et de rendre les autres invisible.

    Puis lors du click sur un lien, une fonction javascript permettrait de rendre invisible le div actuel puis de rendre visible le div correspondant au lien.

    Il faut savoir que j'ai plus de connaissance sur le visual basic et que j'ai la facheuse tendance de tenter de reproduire, ce que je sais faire en VB, en langage web.

    J'ai vu que l'on pouvait rendre invisible des div en javascript en utilisant le "display="none";
    J'ai donc tenté ceci:

    code d'un lien du menu (html)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a title="link towards overview" href="#" onclick="invisible()">Project overview</a>
    Le div à rendre invisible a pour id: id="main".

    et voici mon code javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    invisible()
        {
         main.style.display="none"; 
        }
    main étant l'id du div et .style.display="none", le code grâce auquel je pensais parvenir à rendre invisible le div.

    Sinon je me demandais si ce n'était pas possible avec du css?
    Grâce au css j'avais remarqué que l'on pouvait faire disparaitre des éléments lorsque l'on passe dessus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    a:hover
    {
     display: none;
    }
    Le problème est que dés que l'élément est rendu invisible, le css ne considère plus que la souris est dessus, par conséquent, il le fait réapparaitre; puis redisparaitre puisque dés sa réapparition la souris fait a nouveau effet de hover.
    Remarque, cela fait un joli effet de clignottement extra rapide pour les amateurs d'animation facile^^.
    Mais c'est pas tout a fait ce que je recherche.

    Quelqu'un aurait une solution à me proposer à partir de l'une de ses méthodes? Ou bien est ce que je fait vraiment fausse route et que mes idées sont plus farfelues les unes que les autres?^^.

    PS: Oui quand je m'y met faut être motivé pour arrivé a lire l'ensemble de mon message.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par Xann_71
    Comme mon en tete et mon menu sont toujours les meme, ce n'est pas la peine que je les refasse pour chaque page.
    Ce n'est pas non plus une raison suffisante pour utiliser Ajax
    Les include côtés serveur te permettent d'inclure le même script dans toutes tes pages qui l'utilisent.
    Le cache des navs permet à tes visiteurs de ne charger les objet qu'une seule fois.

    A+

    PS : je n'était effectivement pas assez motivé pour lire l'ensemble

  3. #3
    Modérateur
    Avatar de roro06
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    1 480
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 480
    Par défaut
    bonjour

    As-tu reflechi a l'utilisation d'un iframe pour ton contenu ?

    (c'est une piste, mais je pense comme E.bzz, les include cote serveur, c'est bien)


    N'oubliez pas de consulter les FAQ ASP et les cours et tutoriels ASP

    " La vie c'est quelque chose de très fort et de très beau.... La vie appartient a tous les vivants. It's both a dream and a feeling. C'est être ce que nous ne sommes pas sans le rester. La vie c'est mourir aussi....Et mourir c'est vraiment strong...c'est rester en vie au delà de la mort...Tous ceux qui sont morts n'ignorent pas de le savoir."
    (J.C. VanDamme, humoriste et philosophe belge . A moins que ce ne soit l'inverse ...)

    Chuck Norris comprend JC Van Damme.

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Juin 2007
    Messages : 130
    Par défaut
    oui mais les includes si je ne me trompe pas c'est du php? Je voulais fair comme ça au début et je commençait à apprendre à me servir de se langage mais mon responsable ne souhaite pas que j'utilise du php.
    Apparemment ce serai un langage qui pause des problèmes pour certaines personnes dont le navigateur ne peut le lire ou d'autres raisons.

    En fait je ne me rappel plus bien, j'ai essayer d'assimiler un max de chose en peu de temps et je m'y perd.
    Mais le fait est que je dois me débrouiller sans le php.

    Cela dit le même problème se pose pour le javascript puisque certain navigateurs ne le lisent pas et parfois ce sont même les utilisateurs qui le désactivent mais bon, j'ai autorisation de me servir de celui ci.

    Le iframe roro, j'ai justement soulevé le problème au milieu de mon charabia^^.
    C'est une solution que je ne peut utiliser car mes pages doivent être accessibles et les tout les sites que j'ai visité à ce sujet interdisent les frames.

    Mais merci pour vos réponses.

    EDIT: j'ai écris mon message en meme temps que marcha , et je me rend compte que tout le monde ce ligue contre moi^^. Je vais essayer de revoir sa avec mon responsable de stage mais il me semble que le php pausait des problèmes pour je ne sais plus quelle raison.

    Je vous tiens au courant car j'aurais surement encore besoin de votre aide si je peux mettre cette solution en oeuvre.
    Merci

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par Xann_71
    oui mais les includes si je ne me trompe pas c'est du php? Je voulais fair comme ça au début et je commençait à apprendre à me servir de se langage mais mon responsable ne souhaite pas que j'utilise du php.
    Apparemment ce serai un langage qui pause des problèmes pour certaines personnes dont le navigateur ne peut le lire ou d'autres raisons.
    Heu ... non pas vraiment : le nav ne "voit" pas le PHP (il n'en voit que le code généré : HTML+JS+CSS).

    De plus Ajax utilise le PHP, ce qui semblerait tout aussi bloquant pour toi.

    Si c'est "PHP" qui bloque, utilise le terme "langage serveur" : il n'a peut-être qu'un serveur ASP à te proposer

    A+

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Citation Envoyé par E.Bzz
    De plus Ajax utilise le PHP, ce qui semblerait tout aussi bloquant pour toi.
    Ajax n'a nullement besoin de php :-)

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Juin 2007
    Messages : 130
    Par défaut
    Ok je vois ça avec lui demain matin normalement alors je verrai ce que sa donne et pourquoi il préférait que je ne l'utilise pas.
    parce que de toute façon, le php est un langage qui ne s'oppose en rien à l'accessibilité des pages si?
    Merci

    EDIT: Marcha tu as un don pour écrire tes messages en même temps que moi^^.
    A+

  8. #8
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Par défaut
    Salut,

    Si tu envisages une solution cliente (en javascript) ne perd pas de vue deux choses

    1) Il est préférable qu'à un contenu corresponde un (et un seul) url, si tu caches
    des portions de page, comment fera-tu pour accéder directement à une section
    cachée en tapant un url. (tu peux ajouter des #section ou ?section=truc dans l'url)
    mais si tu gère ça en javascript, alors les moteurs de recherche n'y comprendront
    rien et indexeront uniquement la page "principale" et tout son contenu.

    2) Si tu charge tout le contenu dans une seule page, tu ralenti le chargement

    Je te recommande de suivre le conseil d'E.Bzz, soit un include coté serveur

Discussions similaires

  1. pushState : changer la page sans changer l'url
    Par la-ilaha-ila-allah dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/12/2013, 12h19
  2. Comment changer de design sans chargement
    Par Cyclone200 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 30/03/2009, 18h00
  3. Réponses: 1
    Dernier message: 24/09/2006, 14h36
  4. Réponses: 2
    Dernier message: 16/03/2006, 15h24
  5. Changer d'adresse de page sans changer de page...
    Par CFP dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 28/02/2006, 13h15

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