Partage
  • Partager sur Facebook
  • Partager sur Twitter

jQuery, l'accessiblité et moi

Eviter de recharger les menus à chaque fois.

Sujet résolu
    14 mars 2009 à 17:19:28

    Bonjour à tous !
    J'aimerais vous demander quelques conseils au niveau du Javascript, en effet Javascript et moi ça fait deux, j'ai beaucoup de mal et même avec jQuery !

    Mon site web se présente ainsi :

    Menu | Contenu

    Le menu est ainsi fait :
    * Lien 1
    * Lien 2
    * Lien 3

    J'aimerais que lorsqu'on clique sur "Lien 2" on évite de recharger le menu, c'est moins confortable pour l'internaute.

    J'ai donc jeté un petit coup d'oeil à jQuery et voici mon code :

    <script type="text/javascript">
    		$(document).ready(function () 
    		{  
    			$("a.load")
    			.click(function() {
    			$("#contenu").load(this.href);
    				return false;
    			});
    		});
    		</script>
    


    Et ensuite il me suffit de faire un lien comme ça : <a href="actualites.html" class="load">Actu !</a>

    Cela me laisse tout de même perplexe et se pose à moi plusieurs problèmes...

    - En cas de désactivation de Javascript, comment faire ? La page des actus n'aura pas de menu !
    - J'aimerais que la barre d'adresse donne la véritable adresse et pas "index.html" pour toutes les pages...
    - Si le visiteur arrive directement sur la page actualites.html, comment faire pour qu'il voit quand même les menus que Javascript soit activé ou pas...

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
    Créateur de www.shotguncovoit.com !
      14 mars 2009 à 18:14:06

      Fait une page actualités avec un menu, mais quand tu la charges via JS tu le dégages :)

      Pour changer l'adresse dans la barre il faut changer de page ;) Pour des raisons évidents de sécurité, sinon chacun pourrait faire des faux Gmail, Paypal... Tu peux juste jouer sur le "hash" de l'adresse, c'est à dire l'ancre http://example.com/#actualites, mais bon il faut avoir deux trois connaissances de bases en JS pour pouvoir la changer mais surtout la récupérer par la suite pour que cela foncitonne :)
      • Partager sur Facebook
      • Partager sur Twitter
        14 mars 2009 à 18:23:17

        D'accord, merci pour les renseignements, j'y avais même pas pensé à l'astuce :honte:
        Je voulais faire un truc compliqué avec gestion des cookies via PHP + Javascript et bref, pas très propre tout ça :) !

        Pour l'histoire de l'adresse, en faite ça serait par exemple lorsque le visiteur lis les actualités et fait un rafraichissement de la page, il va se retrouver sur la vieille page :/ !

        J'ai regardé Facebook et eux ça fonctionne plutôt bien, ils ont leur menu en bas qui ne se recharge pas en permanence et pourtant l'adresse change >< !

        Bref, je patauge avec Javascript xD !
        • Partager sur Facebook
        • Partager sur Twitter
        Créateur de www.shotguncovoit.com !
          14 mars 2009 à 20:00:25

          Tu fais de l'url rewriting par ajax (et oui c'est possible ça).

          Sinon quand tu fais un site ajax, tu commences par le faire sans javascript (avec rechargement de tes pages) et une fois que ça fonctionne sans javascript, là tu met ton ajax par dessus. Ca demande bien évidement de remplacer via le DOM pas mal de trucs mais c'est la solution à adopter pour être vu par tous et surtout par google.
          • Partager sur Facebook
          • Partager sur Twitter
            14 mars 2009 à 20:34:29

            D'accord, merci loacast.

            J'ai fais quelque chose qui m'a l'air de bien fonctionner : je mets un <noscript></noscript> Pour le menu ce qui fait que lorsque javascript est activé le menu ne sera pas affiché en double (dans le bloc qui contient la nouvelle page) mais sera affiché s'il n'y a pas Javascript et donc si la page est rechargée :D !
            • Partager sur Facebook
            • Partager sur Twitter
            Créateur de www.shotguncovoit.com !

            jQuery, l'accessiblité et moi

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown