La fonction js `.positionner()` peut créer une erreur JS
Bon le bug fut pas évident à comprendre, mais sur le plugin Comments, utilisé sur Contrib, il y a un bouton pour répondre à un message de forum qui positionne le formulaire de commentaire sous le dernier message et utilise positionner() ensuite pour placer l’écran comme il faut.
C’est écrit comme ça
<a href="spip.php?..." onclick="jQuery(this).add_reply_to(510783);return false;">...</a>
La fonction add_reply_to
appelle en interne :
jQuery(me).find('.comment').last().find('p').last().positionner(true);
Si malencontreusement il n’y a pas de p
dans le dernier commentaire, cela crée une erreur JS, car this
est undefined.
Cela revient à jQuery('jexistepas').positionner(true);
A priori, dans ce cas, positionner devrait sortir sans erreur (et sans rien faire).
Des avis ?
Note qu’il faudrait peut être améliorer Comments (si un commentaire ne met qu’une liste à puce par exemple, il n’y a pas de <p>
généré).