SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 56 visiteurs en ce moment

Accueil du site > Navigation > Hyperliens > Ancres douces > Ancres douces

Ancres douces

21 octobre 2008 – par Fil, _Eric_ – 35 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

17 votes

Partout sur le Web, lorsqu’on clique sur un lien qui mène vers une ancre dans la même page, le navigateur « saute » brutalement jusqu’à cette ancre. Le visiteur perd la notion de l’endroit où il se trouve et ne visualise pas la structure globale de la page. En termes d’ergonomie c’est assez mauvais, et on attend le navigateur qui trouvera la solution.

Dans l’immédiat, chacun peut améliorer cela sur son propre site SPIP. Le plugin Ancres douces fait une chose (et une seule) : il transforme toutes les ancres (<a href="#xxx">) des pages en « ancres douces », où le navigateur fait défiler doucement la page jusqu’à l’ancre. Ainsi le lecteur sait en permanence où il se trouve dans la page, et peut plus facilement remonter, etc.

On peut voir ce plugin en action sur le site des blogs du Monde diplo (cliquer sur « XX commentaires » ou sur les appels de note, par exemple).

Ce plugin est une intégration à SPIP de deux scripts jQuery d’Ariel Flesler, avec lesquels il est possible de faire plein d’autres jolis scrolls (voir les démos) :
— localScroll
— scrollTo

Restreindre ancres_douces à certains blocs

Si vous utilisez d’autres scripts javascripts utilisant aussi les ancres (par exemple un slider jquery), il est possible que des interférences se produisent avec ancres_douces.

Pour éviter ces interférences, il est nécessaire d’indiquer sur quel bloc ou quels types de blocs on veut restreindre le fonctionnement de ancres_douces.

Pour cela, on doit définir dans mes_options.php la constante "CONTEXTE_ANCRES_DOUCES".

Exemple :
-  Pour restreindre au bloc d’id contenu ( convient sur un grand nombre de squelettes spip ) : define (’ANCRES_DOUCES_CONTEXTE’,’#contenu’) ;
-  pour restreindre à tous les éléments de classe ’ancres_douces’ define (’ANCRES_DOUCES_CONTEXTE’,’.ancres_douces’) ;

Bugs connus :
-  fonctionne mal avec Opera. (corrigé en 1.2)

P.-S.

À noter, le plugin Ancres douces est aussi intégré sous forme d’une lame du Couteau suisse.

Retour en haut de la page

Vos commentaires

  • Le 21 juillet 2011 à 16:58, par Julien En réponse à : Ancres douces

    Bonjour,

    j’ai mis dans config/mes_options.php :

    1. <?php
    2. define (’ANCRES_DOUCES_CONTEXTE’,'ancres_douce’) ;
    3. >

    Et j’ai affecté la class « ancres_douce » à certains éléments div de mon squelette mais cela ne marche pas. Cela agi sur tout la page !

    Une idée ?

    Merci beaucoup

    • Le 5 décembre 2011 à 20:12, par Christian En réponse à : Ancres douces

      Il y a une erreur dans les exemples avec CONTEXTE_ANCRES_DOUCES !
      il est indiqué :

      1. define (’ANCRES_DOUCES_CONTEXTE','ancres_douce’) ;

      alors qu’il faut :

      1. define (’CONTEXTE_ANCRES_DOUCES','ancres_douce’) ;

    Répondre à ce message

  • Le 13 septembre 2011 à 10:17, par Gil FOURGEAUD En réponse à : Ancres douces

    Bonjour,

    Les ancres douces ne fonctionnent pas avec du Rewrite url chez moi ...

    /?page=rubrique&id_rubrique=7 fonctionne

    rubrique/article ne fonctionne pas

    Merci

    Répondre à ce message

  • Le 26 juillet 2011 à 10:48, par junthro En réponse à : Ancres douces

    Bonjour,
    j’ai un problème avec le plugin Ancres Douces sur Spip 2.1.8 : le défilement fonctionne sans problème lorsque je suis loggé en admin, mais si je me déconnecte un message s’affiche :

    Fatal error : Call to undefined function : url_absolue() in .... plugins/auto/ancres_douces/ancres_douces_pipelines.php on line 5

    Précision : le Couteau Suisse est installé (indispensable), mais sa fonction « ancres douces » est désactivée. Inversement, lorsque je désactive le plugin Ancres Douces pour n’activer que la fonction du Couteau Suisse, le défilement doux ne s’opère pas. Et lorsque les deux sont activées : message d’erreur du plugin.

    Et sinon mes pages sont en DOCTYPE XHTML transitional.

    Ne voyant pas à quelle URL absolue il est fait allusion dans le pipeline.php, et ne connaissant rien non plus au javascript (cf jquery.scrollto.js), vos éclaircissements sont les bienvenus...

    Répondre à ce message

  • Le 9 février 2011 à 12:35, par JLuc En réponse à : Ancres douces

    Hello,

    ce plugin fait des scrolls doux pour TOUTES les ancres douces. Or parfois, avec un autre plugin de diaporama ou de slider à onglets par exemple, on ne veut PAS que la fenêtre scrolle automatiquement lorsqu’on clique sur les thumbnails des pĥotos ou sur les onglets.

    Y a t il un moyen d’exclure un lot d’ancres nommées du scroll doux ?
    par exemple exclure les ancres commençant par ’onglet-’, ou au contraire, ne retenir que celles qui commencent par ’ancredouces-’...

    • Le 9 février 2011 à 12:44, par JLuc En réponse à : Ancres douces

      Peut être serait il plus facile d’exclure toutes les ancres qui sont à l’intérieur d’un <div>, par exemple, de classe exclusion_ancre_douce

    • Le 10 février 2011 à 20:00, par JLuc En réponse à : Ancres douces

      En fait, le plugin localscroll utilisé dans ce plugin est déjà prévu pour limiter les scrolls doux aux ancres dans un élément. L’exemple donné est :
      $('#navigation').localScroll();

      L’objectif visé n’est donc pas immensément lointain...

    • Le 16 février 2011 à 23:49, par JLuc En réponse à : Ancres douces

      mais ça ne scrolle plus doux si je modifie le javascript ainsi... donc je ne sais plus comment faire.

    • Le 18 février 2011 à 18:17, par JLuc En réponse à : Ancres douces

      La fonctionnalité est intégrée au plugin et documentée. Configuration basique par le mes_options.php

    Répondre à ce message

  • Le 14 février 2011 à 12:50, par E-cosystems En réponse à : Ancres douces

    Bonjour,

    J’utilise les ancres douces, bah, parce que c’est joli ;)

    J’essaye de travailler un maximum l’accessibilité pour les personnes handicapées et j’ai un soucis avec les ancres douces.

    Lorsqu’elles sont activées, les liens vers le contenu, menu... se font biens.
    Par contre, pas moyen de naviguer avec la touche « tab ». Celle-ci renvoie vers le menu d’accessibilité.

    Du coup, je les ai désactivées.

    Évidemment, la touche « tab » marche bien quand les ancres ne sont pas activées.

    Bonne journée à tous le monde et un grand merci à tous les contributrices et contributeurs !

    Répondre à ce message

  • Le 28 janvier 2011 à 10:15, par gregol En réponse à : Ancres douces

    Bonjour,
    Je voulais savoir comment faire pour que l’Ancre Douce fonctionne avec des retours sur la page précédente. (pas la même page)

    Processus :
    1- J’ai une page qui présente une liste de mes articles.
    2- Je descend dans ma page et sélectionne un article.
    3- Je suis maintenant sur ma page de l’article sur laquelle il y a une bouton « menu » avec une ancre :

    <a href="[(#URL_RUBRIQUE|ancre_url{#URL_ARTICLE})]" class="back">< menu</a>
    ]

    4- Je retourne par le bouton « rmenu », l’ancrage se fait bien mais sans douceur !

    Pourquoi ? Comment ?
    Quelqu’un peut-il me donner un indice ?

    A bientôt,
    G

    Répondre à ce message

  • Le 1er novembre 2010 à 00:02, par Pierre En réponse à : Ancres douces

    Bonjour !
    Utilisé chez moi sous depuis le couteau suisse, je remarque un soucis avec la navigation au clavier : quand les ancres douces sont activées, si je tabule dans la page, par ex. je passe par un lien d’évitement (du style « aller à la recherche » avec comme cible l’id d’une div, d’une liste ou d’autre chose :

    • ma page descend bien jusque cet élément
    • mon url contient bien #recherche
    • mais à la tabulation suivant, je me retrouve de nouveau en haut après mon premier lien d’évitement, ce qui est très génant
    • Je ne vous raconte pas avec une synthése vocale, dans lequel cas cela les liens du sommaire et d’évitement ne servent hélàs à rien

    Si je rajoute « en dur » #recherche dans l’url et que je valide, cela fonctionne, même si le plugin est activé. J’ai essayé de mettre les liens en absolu, cela ne fonctionne pas plus...

    Quelqu’un à t’il une idée pour que le focus clavier suive les liens ? Je ne connais pas bien javascript hélàs...

    Répondre à ce message

  • Le 26 août 2010 à 11:42, par Serg En réponse à : Ancres douces

    Bonjour. Ce plugin améliore bien la navigation avec les ancres dans un même article. J’ai juste un petit défaut que j’aimerai supprimer. Voilà, j’ai réalisé un article avec un sommaire et des titres. L’article étant très long, je navigue avec le sommaire (réalisé automatiquement avec le plugin inter-titre) dans l’article en utilisant les ancres sur les titres présents tout au long de l’article. La première navigation, c’est à dire le premier clic sur un titre du sommaire m’amène bien sur le titre dans le corps de l’article, mais sans l’effet ancre douce. Par contre toutes les autres navigations après la première s’effectue avec l’éffet d’ancre douce. Même problème pour tous les autres articles.

    J’ai essayé d’activer le plugin intertitre avant et après le plugin ancre douce. Rien n’y a fait.

    Si quelqu’un peut m’aider, je le remercie d’avance

    Ma config :
    Spip2.1, php5, CFG Sarka3.0 Notation Jeux Bonux zengarden ArticlePDF Boutondansletexte Mediatheque Lecteur Rainette corbeille Saisies francybox splickbox snippets odt2 mesfichiers facteur sauvegardeauto Nycoceros,Intertitres hiérarchisés,ancre douce

    Hébergé chez free

    Répondre à ce message

  • Le 28 octobre 2009 à 14:04, par Stéphane Deschamps En réponse à : Ancres douces

    @Fil,

    J’ai fait un checkout, bien sûr c’est super pas simple et pas de return(false) à portée de main.

    En revanche j’ai l’impression que ça se joue sans doute aux lignes 92-94 de jquery.localscroll.js mais je ne veux pas committer n’importe quoi donc je suggère ici la modification :

    L’avis de quelqu’un de plus versé que moi en jQuery serait grandement bienvenu...

    Répondre à ce message

  • Le 28 octobre 2009 à 13:42, par Stéphane Deschamps En réponse à : Ancres douces

    @Fil,

    ça fait bien longtemps que je n’ai pas fait ça, je te fais signe si je n’y arrive pas...

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d'abord sur gravatar.com (gratuit et indolore) et n'oubliez pas d'indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Squelettes « Chez nous »

    17 avril 2008 – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Jeu de squelettes prêts à l’emploi pour site de maison : visite des lieux, présentation des habitants, chronique et livre d’or.

  • Formidable, le générateur de formulaires

    23 janvier – 55 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Un générateur de formulaires facilement configurable pour les non-informaticiens et facilement extensible pour les développeurs. Introduction L’objectif était de créer un plugin permettant de générer des formulaires. Historiquement, 2 plugins avaient (...)

  • Transaction : créer des formulaires avec paiement en ligne

    13 mars 2011 – 33 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Transaction est une extension du plugin de création de formulaires Formidable pour concevoir des formulaires de paiement en ligne et les connecter aux principales API bancaires françaises. Présentation Transaction introduit 3 nouveaux types de (...)

  • Plugin SPIP-Géoportail

    17 août 2010 – 169 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Plugin pour l’intégration d’objets géographiques dans SPIP avec l’API Géoportail. Affichage de cartes Géoportail, OpenStreetMap (OSM), Google Maps ou Yahoo !... Préambule : Travaillant sur un projet utilisant SPIP et le Géoportail, il nous a semblé (...)

  • Navigation AJAX

    31 janvier – 13 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)