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 :

Javascript, CSS et re-chargement de page


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par d�faut Javascript, CSS et re-chargement de page
    J'ai r�alis� une page web tr�s longue / haute (c'�tait le but).
    Cette page contient 7 sections qui se succ�dent les unes au dessous des autres.
    Sur le c�t� gauche, j'ai un petit menu vertical, permettant d'acc�der � chacune de ces parties de la page.

    Un script javascript teste, lors des scrollings, quelle section est actuellement affich�e � l'�cran, afin d'attribuer une classe diff�rente � mon menu, ce qui permet � celui-ci d'indiquer de fa�on "dynamique" dans quelle section de la page nous sommes.

    Tout fonctionne tr�s bien, sauf en cas de rechargement de la page. Comme il n'y a pas de scroll d�tect�, le menu reprend la classe par d�faut qui est stipul�e dans le HTML (correspondant bien s�r � la section 1).

    J'aimerais donc qu'en cas de rechargement, le test soit de nouveau effectu� (possibilit� de provoquer un mini scroll de 2px ?) ou qu'il laisse le menu tel qu'il �tait affich� auparavant (peut-�tre que ce n'est pas possible ?).

    J'esp�re avoir �t� clair... Merci d'avance pour vos conseils !

  2. #2
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    Salut, il te faut soit passer par un cookie qui repr�sentera ton menu current, et en cas de chargement si le cookie existe tu recharge sa valeur, sinon c'est une premi�re visite tu charge le defaut menu.
    Tu peux aussi le faire avec localstorage, il y a pleins de tutoriels.

    Bonne soir�e.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par d�faut
    Merci headmax

    Apr�s avoir farfouill� sur Google et quelques cogitations nocturnes, voici ce que j'ai fait en r�sum�/simplifi� :

    - Dans mon fichier JS, au lieu de simplement d�clarer les valeurs de ma variable � la vol�e, je les ai plac�es dans sessionStorage.
    Ensuite, j'appelle la valeur de sessionStorage pour attribuer la bonne classe � mon menu.

    - Dans ma page HTML, j'ai cr�� un petit script qui teste si ma valeur sessionStorage est �gale � 1, ou 2, � ou 7 et sinon �a attribue la valeur 1 (par d�faut dans le cas d'une arriv�e sur mon site) � mon menu.

    �a semble fonctionner...

    C'est bien �a l'esprit du truc ?

  4. #4
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    Tout a fait Harlock bien jou�, si pas de soucis dans ce cas, met ton post en r�solu A+.

    Bonne soir�e.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par d�faut
    Merci pour ta "validation". Pas toujours s�r de moi dans la mesure o� � la base, tout �a n'est pas exactement ma sp�cialit�... Content de lire que j'ai eu le bon r�flexe (gr�ce � ta piste)

    Bonne soir�e toi-m�me !

    (Et encore merci)

  6. #6
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    Pas de soucis, ravi de t'avoir mis sur la piste , et n'h�site pas de poster en cas de probl�me .
    Autre pr�cision, localstorage et sessionstorage, est fait � la base pour du html5 donc attention � la compatibilit� navigateur quand m�me.

    Bonne soir�e.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par d�faut
    Merci pour ton avertissement.

    Y a t-il un moyen de d�clarer la classe par d�faut de mon menu pour les anciens navigateurs, sans que les deux techniques ne rentrent en conflit ?

  8. #8
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    Tout d'abord la diff�rence entre Local Storage et Session Storage est que le premier sauvegarde les donn�es sans tenir compte d'une limite de temps. Session Storage, par contre, sauvegarde les donn�es durant une seule session. Donc si tu sauvegarder tes donn�es avec SessionStorage celles-ci seront disparues � l'ouverture par exemple d'un nouvel onglet.

    Ces technologies ne sont pas cross browser compatible, il te faut donc tester si le navigateur de l'utilisateur supporte cette technologie. Pour ce faire, je te conseille d�utiliser la libraire javascript Modernizr qui offre la possibilit� de tester si une technologie HTML5 est support�e par le navigateur.

    exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (Modernizr.localstorage) {
    }else{// la technologie n'est pas supportée dans votre navigateur.}
     
    ou
     
    if (Modernizr.sessionstorage)) {
    }else{// la technologie n'est pas supportée dans votre navigateur.}
    Apr�s �a tu pourra utiliser un cookie, ou une session c�t� serveur que tu affectera tout simplement a ta variable global js.

    Ou alors tu d�cide de faire �a avec un language c�t� serveur qui lui g�re tr�s faciement les sessions par exemple l'affectation de donn�es de PHP � JS.
    Cette m�thode �vite d'alourdir le chargement de ta page et elle sera compatible sur tout navigateur.
    Tu as un diemme, il faut faire un choix, soit la p�r�nit�, soit attendre que les conflits entre les acteurs du d�veloppement de html5, soit enfin d'accord, ce qui aura un grand int�r�t, pour le d�veloppement d'un code pour tout navigateur, ce qu'il promettait d'apr�s leur dire...
    Bref on y est pas encore .
    Bonne soir�e quand m�me.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    var current_menu = "<?php echo $_SESSION["menu_current"]; ?>";
    Le lien pour la librairy modernizr

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    55
    D�tails du profil
    Informations personnelles :
    �ge : 53
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 55
    Par d�faut
    Merci pour le lien vers modernizr, je ne connaissais pas

    En fait, je me demande si cela ne m'emm�ne pas trop loin.

    Une id�e m'est venue, je ne sais pas si elle est bonne� J'ai un javascript qui teste quelle section est actuellement affich�e � l'�cran au moment de chaque scroll.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    window.onscroll=function(){
    // script de test
    })
    Peut-�tre qu'en effectuant ce m�me test �GALEMENT � chaque chargement de page, j'obtiendrais tout simplement un r�sultat compatible de partout ?

    Dans ce cas, dois-je dupliquer mon script et lancer ce doublon par $(document).ready(function() ou y a t-il un moyen compact de demander ce test au scroll ET au chargement de la page ?

  10. #10
    Membre Expert

    Homme Profil pro
    Ing�nieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : Ing�nieur Hospitalier
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par d�faut
    Oui mais tu omet ta probl�matique du d�part.
    Tout fonctionne tr�s bien, sauf en cas de rechargement de la page.
    Il faut imp�rativement enregistrer le menu qui avait �t� selection� pour que lors d'un rechargement tu le garde en m�moire.
    L'enregistrement passe soit par js via sessionstorage (pas tr�s portable browser r�cent mis � jours), par un cookie (plus chiant a mettre en oeuvre, mais portable sur tout browser), par le biais d'une url et formulaire en get, se qui aura pour action de refresh la page, sinon l'appel peu se faire en ajax sans rechargement de ta page.

    Bonne soir�e.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Webbrowser ignor� le chargement du javascripts, css, images.
    Par bailamos dans le forum VB 6 et ant�rieur
    R�ponses: 0
    Dernier message: 08/10/2010, 22h34
  2. executer une fonction javascript apres tous le chargement de la page
    Par interhossa007 dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 16/10/2008, 17h36
  3. [Javascript][VB.net]Javacript actif au 2�me chargement de page
    Par Fleur-Anne.Blain dans le forum VB.NET
    R�ponses: 8
    Dernier message: 25/08/2008, 15h57
  4. R�ponses: 10
    Dernier message: 19/05/2008, 14h46
  5. javascript et chargement de page html
    Par stars333 dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 03/09/2007, 12h38

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