La balise insérer un lien dans l'éditeur ne fonctionne pas normalement

Voir le sujet précédent Voir le sujet suivant Aller en bas

  • 0

La balise insérer un lien dans l'éditeur ne fonctionne pas normalement

Message par Le Grand Duc le Lun 7 Aoû 2017 - 22:54

Bonjour,
Pour à peu près toutes les fonctions d'édition d'un message, lorsqu'on clique sur un bouton comme pour mettre en gras, en italique, etc, les balises d'ouverture et de fermeture qui sont ajoutées vont entourer le texte sélectionné.
La fonction pour ajouter un lien est un peu différente puisqu'elle permet d'ajouter une description qui sera insérée entre les balises.
Cependant si on a déjà sélectionné une zone de texte, ça veut dire que c'est ce texte qu'on veut avoir entre les balises.
Le problème, c'est que dans ce cas il faut impérativement entrer de nouveau ce texte dans le champ description car sinon la zone sélectionnée disparaîtra complètement et sera remplacé par l'adresse du lien.
Non seulement ce comportement n'est pas conforme à celui qu'on peut observer sur l'exemple chez SCEditor.com, mais il est particulièrement malcommode.
Apparemment, FA utilise une version modifiée de SCEditor, il serait fort apprécié qu'elle soit corrigée.
J'ai identifié le problème dans cette suggestion, mais plus j'y pense et plus je suis convaincu qu'il s'agit plus d'une requête pour corriger un défaut qu'une suggestion d'amélioration.
En attendant, et pour ceux que ça intéresse, voici un script qui permet de rétablir le comportement normal de la balise URL de l'éditeur :
Code:
function corrigeURL(ev) 
  {
  if ($.sceditor)
    {
    $.sceditor.command.set("link",
      {
      _dropDown:function (editor,caller,handler)
        {
        var content=$('<div><label for="linksrc">'
          + editor._("URL:")
          + '</label> <input type="text" id="linksrc" class="url" placeholder="http://" value="" /></div><div><label for="linktitle">'
          + editor._("Description (optional):")
          + '</label> <input type="text" id="linktitle" value="" /></div><div><input type="button" class="button" value="'
          + editor._("Insert")+'" /></div>');
        content.find('.button').click
          (
          function(e)
            {
            var values=new Array(),
            src=content.find("#linksrc").val(),
            description=content.find("#linktitle").val();
            values['src']=src;
            values['desc']=description;
            if (editor.inSourceMode())
              {
              if (values['desc']) editor.insertText('[url='+values['src']+']'+values['desc']+'[/url]');
              else editor.insertText('[url='+values['src']+']', '[/url]');
              }
            else
              {
              if(values['desc']) editor.wysiwygEditorInsertHtml('<a href="'+values['src']+'">'+values['desc']+'</a>');
              else editor.wysiwygEditorInsertHtml('<a href="'+values['src']+'">','</a>');
              }
            editor.closeDropDown(true);
            e.preventDefault()
            }
          );
        editor.createDropDown(caller,"insertlink",content)
        }
      }
      ); 
    }
  }
function addEventHandler(elem,eventType,handler) {
  if (elem.addEventListener) elem.addEventListener (eventType,handler,false);
  else if (elem.attachEvent) elem.attachEvent ('on'+eventType,handler);}
addEventHandler(window, "load", corrigeURL);
avatar

Le Grand Duc
*

Messages : 46
Inscrit(e) le : 29/01/2017

http://grandduc.forumactif.com
Le Grand Duc a été remercié(e) par l'auteur de ce sujet.

Re: La balise insérer un lien dans l'éditeur ne fonctionne pas normalement

Message par Outis le Mer 9 Aoû 2017 - 9:09

Merci, je confirme que ça marche.
Mais on ne voit pas la reprise de la description dans le cadre dédié. Ce qui peut suggérer qu'il faut la réécrire. scratch
avatar

Outis
*****

Messages : 573
Inscrit(e) le : 28/07/2012

http://personofinterest.fra.co
Outis a été remercié(e) par l'auteur de ce sujet.

Re: La balise insérer un lien dans l'éditeur ne fonctionne pas normalement

Message par Le Grand Duc le Mer 9 Aoû 2017 - 16:55

@Outis a écrit:Merci, je confirme que ça marche.
Mais on ne voit pas la reprise de la description dans le cadre dédié. Ce qui peut suggérer qu'il faut la réécrire. scratch

En effet, ça serait assez compliqué de la récupérer, et elle pourrait être assez complexe, contenir du code HTML, ce qui serait incompatible avec le champ dans le formulaire.
Tout ce que j'ai fait c'est de rendre le comportement conforme à l'original dans SCEditor.
Il suffirait de prévenir vos membres.
avatar

Le Grand Duc
*

Messages : 46
Inscrit(e) le : 29/01/2017

http://grandduc.forumactif.com
Le Grand Duc a été remercié(e) par l'auteur de ce sujet.

Re: La balise insérer un lien dans l'éditeur ne fonctionne pas normalement

Message par Lixyr le Jeu 17 Aoû 2017 - 19:01

Nous n'avons plus de nouvelle de l'auteur de ce sujet depuis plus de 7 jours. Nous considérons donc ce problème comme résolu ou abandonné. La prochaine fois, merci de nous tenir au courant de l'évolution de votre problème, ou pensez à faire un UP régulièrement !

Ce sujet est déplacé à la corbeille, merci d'ouvrir un nouveau sujet si nécessaire, en respectant les Règles générales du forum.




avatar

Lixyr
Aidactive
Aidactive

Féminin
Messages : 5914
Inscrit(e) le : 22/07/2010

http://forum-test-in-lixyr.rpg-dynasty.com/
Lixyr a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum