Ancres douces

Lorsqu’on clique sur un lien qui mène vers une ancre dans la même page et que 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 ('CONTEXTE_ANCRES_DOUCES','#contenu'); 


-  pour restreindre à tous les éléments de classe « ancres_douces »

define ('CONTEXTE_ANCRES_DOUCES','.ancres_douces'); 

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

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

Discussion

36 discussions

  • 1

    Testé en Spip 4.2.0,
    RAS, tout semble fonctionner // Compatible 4.2

    Répondre à ce message

  • Bonjour,

    Maintenant qu’on peut faire ça avec une ligne de CSS, est-ce qu’il serait pertinent de modifier ce plugin pour ne plus avoir de javascript ?

    Un peu de doc : https://blog.mayank.co/better-scrolling-through-modern-css

    @media (prefers-reduced-motion: no-preference) {
    	html {
    		scroll-behavior: smooth;
    	}
    }

    Répondre à ce message

  • 8

    Dans le cas où il y a des conflits javascript, je trouve plus simple de prendre le problème à l’envers : garder les ancres douces partout, et désactiver sur certains blocs ponctuellement.

    Dans ce cas, je rajoute la classe « no-ancres-douces » là où ça pose poroblème, et dans mes_options.php :

    <code>define ('ANCRES_DOUCES_CONTEXTE',':not(.no_ancres_douces)');</code>
    • Oups, j’ai parlé trop vite, ça ne fonctionne pas ainsi. Et la bonne valeur c’est CONTEXTE_ANCRES_DOUCES.

    • C’est corrigé dans la doc...

    • Bonsoir,

      Je déterre cette option qui ne fonctionne pas chez moi :

      define ('CONTEXTE_ANCRES_DOUCES',':not(.no_ancres_douces)');

      alors que :

      define ('CONTEXTE_ANCRES_DOUCES','.ancres_douces');

      fonctionne !

      Il n’y a rien a modifier dans Ancres Douces ?

      Merci.
      François.

    • Bonjour,

      De mon côté je n’arrive pas à faire fonctionner le define avec le sélecteur :not() comme tu l’indiques : tu as modifié autre chose ?

      SPIP et Ancres Douces à jours.

      Merci,
      françois

    • Non je n’étais pas arrivé à faire fonctionner ainsi, et depuis je n’ai pas trop regardé.
      Nb : maintenant c’est de base dans les navigateurs récents :

      html {
        scroll-behavior: smooth;
      }
    • Merci tcharlss, mais c’est confidentiel quand même :
      https://caniuse.com/#feat=css-scroll-behavior

      Je vais regarder du côté de jQuery.localScroll.

    • Et bien il y a la variable filter qui permet de filtrer les sélecteurs que l’on veut exclure :

      $.localScroll.defaults.filter = ':not(.no_ancres_douces)';

      mais il faut applique le sélecteur directement sur les href à exclure et pas uniquement sur le conteneur !

      françois

    • D’après canisuse, il n’y a plus que sur safari que scroll-behavior: smooth; n’est pas défini

    Répondre à ce message

  • Bonjour,
    j’utilise le plugin avec un « menu » a gauche " et les ancres dans un div sur la droite avec overflow auto
    si je clique et que le déplacement doit être vers le bas cela décale
    si je clique et que le déplacement doit être vers le haut ... cela marche nikel

    avez vous une idée du pb ?

    merci

    Répondre à ce message

  • Salut,

    pour un plugin, je cherche à désactiver le hash dans l’url.

    J’arrive bien à changer le événement déclencheur par défaut (defaults.event) mais pas l’apparition du hash.

    $( window ).load(function() {
       $.localScroll.defaults.event = 'mouseover';
       $.localScroll.defaults.hash = false;
    });

    L’option est en dur dans le pipeline, ça veut dire qu’on ne peut pas la surcharger ?
    Ou alors, comment désactiver le hash uniquement sur certains liens ?

    Merci

    Répondre à ce message

  • Juste une remarque : 2 versions de ce plugins s’installent en parallèle au lieu d’être remplacées :
    1.5.1 SVN [115158]
    1.3 SVN [43216]

    Répondre à ce message

  • 1

    Bonjour est-il possible d’adapter les ancres douces, (dans l’idée de faire un slide) sur le système de pagination de spip ?

    D’avance merci

    Répondre à ce message

  • 1

    Le plugin ne fonctionne pas sous chrome ? Est ce normal ?

    (derniere version du plugin et de spip)
    Google Chrome pour mac est à jour Version 72.0.3626.121 (Build officiel) (64 bits)

    • EDIT. le plugin marche sous chrome. Ce sont les ancres douce du couteau suisse qui ne marche pas.

    Répondre à ce message

  • 6

    Bonjour,

    le plugin fonctionne bien en spip1.9.2e avec plugin jquery1.9.2.
    Par contre l’intérêt que je voyais dans ce plugin, était de me sortir d’un problème de mise en page.

    Ayant un header fixe et ma page qui commence dessous, les ancres normales redirige bien au renvoi mais par rapport au haut de la page qui est du coup caché par mon header fixe.

    J’aurais donc voulu modifier ce plugin afin qu’il me permette de rediriger vers l’ancre +tant de pixel. Comment cela est-t’il possible ? J’ai essayé de modifié scrollto.js sans succès. Il me faudrait rajouter 82px pour que l’ancre renvoie bien à la première portion visible.

    Merci d’avance

    • J’ai trouvé ceci comme info

      http://flesler.blogspot.com/2007/10/jqueryscrollto.html

      il semble que ce que je cherche soit possible par le paramètre offset mais je ne le trouve nulle part dans le plugin et n’y connaissan rien, je ne réussi pas à l’ajouter. Voici ce que j’ai testé

      ;(function( $ ){
      	
      	var $scrollTo = $.scrollTo = function( target, offset, duration, settings ){
      		$(window).scrollTo( target, offset, duration, settings );
      	};
      
      	$scrollTo.defaults = {
      		top:82,
      		axis:'y',
      		duration:1
      	};

      comment faire passer ce paramètre offset. Merci

    • Il semble que le plugin ancres douces utilise les fonctions de base des plugins scroolTo et localTo. Il ne me semble pas possible de lui faire passer des paramètres optionnels mis à part en les écrivant en dur dans les liens dans le squelettes.
      Ais-je tort ?

    • Cette demande date, mais je n’ai pas trouvé d’autre moyen pour répondre à une problématique similaire que de surcharger le script jquery.localscroll.js en y ajoutant un paramètre « offset » ligne 46.

    • Bonjour Yohoo,

      Voici ce qui est indiqué dans jquery.localscroll.js l. 38 :

      // The defaults are public and can be overriden.

      Il faut peut-être ajouter la valeur d’offset dans ton js.perso :

      $localScroll.defaults = {
        offset:85
      }
    • Ben vouai, on peut y arriver comme ça :

      $.extend($.localScroll.defaults, {
      	duration:1500
      });
      $.extend($.scrollTo.defaults, {
      	offset:-50
      });

      https://github.com/flesler/jquery.scrollTo#changing-the-default-settings

    • En plus souple amha :

      $.localScroll.defaults.duration = 1700;
      $.scrollTo.defaults.offset = -85;

    Répondre à ce message

  • Ça serait possible d’activer aussi les ancres douces pour le reste du squelette ?
    Par exemple pour #top ?

    Répondre à ce message

  • 4

    Bonjour,

    En ce qui concerne les défilements horizontaux ou en diagonale je comprends mais pour le simple défilement vertical 2 plugins jQuery additionnels ça me semble faire beaucoup. En ajoutant ce bout de code on parvient au même effet :

    $(document).ready(function(){
    $('a[href*=#]').click(function() {
      if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
      && location.hostname == this.hostname) {
        var $target = $(this.hash);
        $target = $target.length && $target
        || $('[name=' + this.hash.slice(1) +']');
        if ($target.length) {
          var targetOffset = $target.offset().top;
          $('html,body')
          .animate({scrollTop: targetOffset}, 1000);
         return false;
        }
      }
    });
    
    });

    N’y a t’il pas moyen d’ajouter un niveau de base au plugin, ce niveau ne nécessiterait pas l’import des 2 fichiers JS supplémentaires et ça permettrait de cumuler tous les effets ?

    • Super ! Je l’adapte un peu (pour afficher le hash dans la barre d’url à la fin du défilement), et je l’adopte ! Merci.

    • il s’agit en fait du script de Karl Swedberg ayant inspiré le plugin ScrollTo d’Ariel Flesler, cf. http://www.learningjquery.com/2007/....

      Avec le patch pour opera et safari ça donne :

      $(document).ready(function(){
      $('a[href*=#]').click(function() {
       if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
       && location.hostname == this.hostname) {
         var $target = $(this.hash);
         $target = $target.length && $target
         || $('[name=' + this.hash.slice(1) +']');
         if ($target.length) {
           var targetOffset = $target.offset().top;
           if($.browser.safari) {
                    $('body')
           .animate({scrollTop: targetOffset}, 1000);
          return false;
                } else {
                   $('html')
           .animate({scrollTop: targetOffset}, 1000);
          return false;
                }
         }
       }
      });
      
      });

      testé avec ies4mac, opera, safari et firefox sur mac

    • Bonsoir à tous,

      et à Fil en particulier, tu m’intéresses beaucoup quand tu parles d’afficher le hash dans la barre d’url à la fin du défilement.

      Tu peux expliquer ?
      Merci d’avance

    • Un commentaire datant d’il y a 7 ans, j’avoue que j’ai oublié de quoi il s’agissait. Désolé

    Répondre à ce message

  • Matthieu

    Bonjour

    Ancres douces fonctionne sans pb sur mozilla, par contre pas du tout sur ie8

    j’utilise spip 3

    merci

    Répondre à ce message

  • 1

    Bonjour,

    J’ai un souci avec le plugin. J’essaye désespérément de restreindre mes ancres douces pour qu’il évite d’agir sur un slideshow présent sur ma page. Mais rien n’y fait.

    J’ai un slideshow qui utilise des ancres pour faire défiler mes panels. Seulement chaque fois que je clique sur suivant/précédent, bien évidement le scroll vient se caler au niveau du slideshow alors que c’est pas voulu du tout.

    J’aimerais utiliser mes ancres douces uniquement pour mes news qui se trouve dans une div avec la classe « news ». J’ai bien essayé la fonction a mettre dans « mes_options.php » mais ça ne change rien.

    <?php
    define (’ANCRES_DOUCES_CONTEXTE’,’news’) ;
    ?>

    Je veux bien un peu d’aide, merci !

    • Pour que l’ancre douce du plugin « Ancres douces » ne s’appplique pas au slider, il suffit de remplacer :

      var $localScroll = $.localScroll = function( settings )
      $(’body’).localScroll( settings ) ;
       ;
      par

      var $localScroll = $.localScroll = function( settings )
      $(’.news’).localScroll( settings ) ;
       ;
      dans jquery.localscroll.js du plug.

    Répondre à ce message

  • Bonjour est-il possible d’adapter les ancres douces au système de pagination de skip dans l’idée de faire un slide ?

    Répondre à ce message

  • Bonjour,
    Est-il possible d’adapter les ancres douces au système de pagination de spip dans l’idée de faire un slide ?
    D’avance merci.

    Répondre à ce message

  • 1

    Bonjour, dans spip 3, je rajoute le code

    <?php
    define(’CONTEXTE_ANCRES_DOUCES','#une-grosse-colonne’);
    ?>

    dans config/mes options.php et quand je recharche ma page publique j’ai une alerte

    Parse error : syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home2/machin/public_html/tagada/config/mes_options.php on line 10

    Une idée ?

    • Solution :
      Ne pas modifier le fichier mes_options.php mais dans jquery.localscroll.js

      remplacer

      var $localScroll = $.localScroll = function( settings ){
      	$('body').localScroll( settings );
      };

      par

      var $localScroll = $.localScroll = function( settings ){
      	$('#une-grosse-colonne').localScroll( settings );
      };

    Répondre à ce message

  • 1
    Gil FOURGEAUD

    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

    • Ce n’est pas « ancre douce » qui ne fonctionne pas, Mais l’ensemble les ancres de Spip qui ne fonctionnent pas avec un rewrite URL.

    Répondre à ce message

  • 1

    Bonjour,

    j’ai mis dans config/mes_options.php :

    <?php
    define (’ANCRES_DOUCES_CONTEXTE’,'ancres_douce’) ; 
    >

    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

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

      define (’ANCRES_DOUCES_CONTEXTE','ancres_douce’) ;

      alors qu’il faut :

      define (’CONTEXTE_ANCRES_DOUCES','ancres_douce’) ;

    Répondre à ce message

  • 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

  • 4

    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-’...

    • 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

    • 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...

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

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

    Répondre à ce message

  • 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

  • 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

  • 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

  • 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

  • @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 :

    $target
    	.scrollTo( elem, settings )//do scroll
    	.trigger('notify.serialScroll',[elem])//notify serialScroll about this change
    	.void(0);//enable a BACK in keyboard browsing mode

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

    Répondre à ce message

  • @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

  • 1

    Bonjour à tous,

    Mon souci de navigation au clavier a été résolu là : hmtlzengarden, ancres douces.

    il suffit de remplacer return (false) par void(0)

    Répondre à ce message

  • Help svp :/
    j’aimerai vraiment utiliser ce plugin .. mais dès que j’active ancre douce du couteau suisse. Mes ancres ne fonctionnent plus du tout :/ il ne se passe rien quand je clic dessus.
    Si je desactive le pugin elle remarche normalement...

    je suis sous spip 1.9.2c j’ai installer le pugin jquery192, et ma page on bien un doctype XHTML du style.

    Si vous voulez voir une page pour le code allez ici :
    http://www.casalonga.com/-Obtenir-des-droits-?&lang=fr

    Je comprend pas pourquoi ca bloque ... si quelqun a une idée

    Répondre à ce message

  • j’ai également des soucis pour faire fonctionner ce plugin avec spip 2.0.9

    la balise #INSERT_HEAD est bien inséré, je n’ai aucun probleme avec mes autres plugins qui fonctionnent tous parfaitement sauf celui ci étrange .... et dommage

    Répondre à ce message

  • 1

    y’a-t-il du code à introduire dans le squelette pour que le plug-in marche ?
    faut-il faire quelque chose de particulier au niveau syntaxe spip pour que les ancres fonctionnent ?
    y a-t-il une doc ?

    Merci de votre aide

    • Caracalla

      J’ai le même problème lorsque j’utilise ce plugin en local : ça ne marche pas. Ça ne marche pas non plus dans le couteau suisse ...
      Dommage !

    Répondre à ce message

  • Salut les copains,

    Le plugin « ancres douces » me pose des soucis.

    Quand on clique sur un
    lien vers une note de bas de page sur un site normal et qu’on retourne en arrière dans son
    navigateur avec le clavier (alt+gauche ou retour arrière sous Windows, je n’ai pas de mac sous la main mais je crois me rappeler qu’on a le même type de combinaison), on remonte dans la page à l’endroit qu’on vient de
    quitter. Tout ça obéit à la mécanique classique du navigateur : le #ancre est considéré comme l’emplacement suivant de l’historique.

    Avec « ancres douces », on dirait qu’il part du principe que je n’ai pas
    quitté l’endroit que je suis en train de lire (un return false en JS). Donc un back
    me fait partir... à la page précédente. (même s’il remplace à partir
    du # dans l’URL, en réalité je suppose que c’est juste une astuce dans l’objet URL courant, mais ça ne
    « déplace » pas réellement le navigateur d’un coup vers l’avant dans son
    historique —cette dernière remarque est une educated guess, comme on dit quand on veut frimer).

    Arglü.

    Ce n’est pas stratégique mais pour les niais comme moi qui font tout au
    clavier, c’est très déstabilisant/inconfortable.

    Répondre à ce message

  • On m’a demandé d’intégrer cet effet à mon site, mais je me rend compte qu’il ne fonctionne pas dans une div qui a un style de débordement « overflow : auto ; » il n’y a aucune erreur, cependant la page reste immobile le temps de l’animation (1 seconde) et saute directement à l’ancre de ma page. Je tiens à préciser que si je retire la propriété overflow, l’animation marche sans problème. (spip 1.9.2.e + plugin jquery192).

    Quelqu’un aurait-il une solution pour faire cohabiter mon style au plugin ?

    Répondre à ce message

  • 2

    Salut,

    Est-ce qu’il faut une version minimale de jQuery, et donc de SPIP, pour que ça tourne ?

    Je m’explique : pour SPIP 1.9.2 (avec jQuery 1.1.), le plugin ne fonctionne pas chez moi et les ancres sont même désactivées. Avec jQuery à jour (1.2.6), ça roule.

    Me trompe-je ? Auquel cas je ne vois pas d’où le problème peut venir.

    Cela dit j’ai par ailleurs sur Safari (Mac) un comportement étrange : les ancres sont désactivées, ou renvoient en haut de page avant de redescendre vers le lien appelé... (SPIP 1.9.2 avec jQuery 1.2.6.). Mais j’ai ce comportement uniquement sur mes squelettes, pas sur les blogs du diplo ni sur spip-contrib... Aucun problème sur Firefox 3.

    Est-ce que ça peut venir d’un problème de structuration de la page ?

    • Bon, en tout cas le bout de code de ZiWam ci-dessous/dessus (tiens, au passage, l’affichage par défaut des forums sur contrib par date et non par fil est un peu déroutant) résout le problème sous safari... sais toujours pas où ça coinçait. Merci !

    • S’il est avéré que les ancres ne fonctionnent décidemment pas sous SPIP 1.92 et son jQuery 1.1.1, alors il est possible d’installer une mise à jour vers jQuery 1.2.6 avec ce plugin.

      À tester.

    Répondre à ce message

  • Avec la version 1.0 (et IE, Firefox, Safari), qand je clique sur une ancre de note, ça m’amène effectivement à la note correspondante doucement, cependant si je clique ensuite sur le bouton « précédent » du logiciel client web, il ne se passe rien, l’affichage reste centré sur la note de bas de page.

    Répondre à ce message

  • aahhh, c’est génial ! Merci :)

    Répondre à ce message

  • Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom