[PHPBB2] Supprimer l'espace causé par les emojis de Twitter

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

Chocolatine
avatar
Nouveau membre

MessageChocolatine

  • 16px
  • 24px
  • Zoom
Bonjour ;),
j'ai suivi le tuto de Forumactif pour ajouter les Emojis de Twitter à l'éditeur :
http://forum.forumactif.com/t381897-ajouter-les-emojis-twitter-a-l-editeur
Le seul problèmes, c'est le double espace entre les emojis quand ont en ajoute une/plusieurs ;)
La, elles sont placées telle qu'elle :
   
Maintenant je supprimer l'espace (manuellement) entre elle, c'est donc le résultat que je veux obtenir ;) :


Voici mon code Emoji Twitter :
Code:
(function() {
  var config = {
    button_title : 'Emojis',
    auto_close : false,
    async_load : true,
    
    emoji_size : 16, // 16, 36, or 72
    emoji_list : '\uD83D\uDE00 \uD83D\uDE01 \uD83D\uDE02 \uD83D\uDE03 \uD83D\uDE04 \uD83D\uDE05 \uD83D\uDE06 \uD83D\uDE09 \uD83D\uDE0A \uD83D\uDE0B \uD83D\uDE0E \uD83D\uDE0D \uD83D\uDE18 \uD83D\uDE17 \uD83D\uDE19 \uD83D\uDE1A \u263A\uFE0F \uD83D\uDE07 \uD83D\uDE10 \uD83D\uDE11 \uD83D\uDE36 \uD83D\uDE0F \uD83D\uDE23 \uD83D\uDE25 \uD83D\uDE2E \uD83D\uDE2F \uD83D\uDE2A \uD83D\uDE2B \uD83D\uDE34 \uD83D\uDE0C \uD83D\uDE1B \uD83D\uDE1C \uD83D\uDE1D \uD83D\uDE12 \uD83D\uDE13 \uD83D\uDE14 \uD83D\uDE15 \uD83D\uDE16 \uD83D\uDE37 \uD83D\uDE32 \uD83D\uDE1E \uD83D\uDE1F \uD83D\uDE24 \uD83D\uDE22 \uD83D\uDE2D \uD83D\uDE26 \uD83D\uDE27 \uD83D\uDE28 \uD83D\uDE29 \uD83D\uDE2C \uD83D\uDE30 \uD83D\uDE31 \uD83D\uDE33 \uD83D\uDE35 \uD83D\uDE21 \uD83D\uDE20 \uD83D\uDC7F \uD83D\uDE08'
  },
  
  script = document.createElement('SCRIPT');
  script.type = 'text/javascript';
  script.src = 'http://twemoji.maxcdn.com/twemoji.min.js';
  
  document.getElementsByTagName('HEAD')[0].appendChild(script);
  document.write('<style type="text/css">.sceditor-button-twemoji div{background:url(http://twemoji.maxcdn.com/16x16/1f600.png)!important}.sceditor-twemoji{width:220px;height:250px;overflow-y:auto}.sceditor-twemoji img{cursor:pointer;padding:3px}.sceditor-twemoji img:hover{opacity:.7}</style>');
  
  $(function(){
    if ($.sceditor) {
      
      // create sceditor button and drop down
      $.sceditor.command.set('twemoji', {
        dropDown : function(editor, caller, callback) {
          
          if (!fa_twemoji.element) {
            fa_twemoji.element = document.createElement('DIV');
            fa_twemoji.element.innerHTML = twemoji.parse(fa_twemoji.emoji_list, {
              size : fa_twemoji.emoji_size,
              attributes : function() {
                return {
                  style : 'display:none;'
                };
              }
            }).replace(/\s(?=<|$)/g, '');
            
            // load handler for images to lighten the deployment of emoji
            // it displays and loads one image at a time rather all at once which can make the browser unresponsive
            if (fa_twemoji.async_load) {
              fa_twemoji.image = {
                collection : $('img', fa_twemoji.element),
                index : 0,
                timeout : [0, 6000], // timeout after 6000 attempts on 1 image
              
                load : window.setInterval(function() {
                  if (fa_twemoji.image.collection[fa_twemoji.image.index].complete) {
                    fa_twemoji.image.index++;
                  
                    if (fa_twemoji.image.collection[fa_twemoji.image.index]) {
                      fa_twemoji.image.collection[fa_twemoji.image.index].style.display = '';
                      fa_twemoji.image.timeout[0] = 0;
                    } else {
                      window.clearInterval(fa_twemoji.image.load);
                      fa_twemoji.image.load = 'COMPLETE';
                    }
                  
                  } else if (++fa_twemoji.image.timeout[0] > fa_twemoji.image.timeout[1]) {
                    window.clearInterval(fa_twemoji.image.load);
                    fa_twemoji.image.load = 'ERROR';
                  }
                }, 10)
            };
            
            fa_twemoji.image.collection[fa_twemoji.image.index].style.display = ''; // start loading
            } else {
              $('img', fa_twemoji.element).show();
            }
          }
          
          $(fa_twemoji.element).click(function(e) {
            var target = e.target;
            if (target.tagName == 'IMG') {
              callback(target.src);
              fa_twemoji.auto_close && editor.closeDropDown(true);
            }
          });
          
          editor.createDropDown(caller, 'twemoji', fa_twemoji.element);
        },

        // wysiwyg
        exec : function(c) {
          var e = this;
          $.sceditor.command.get('twemoji').dropDown(e, c, function(icon) {
            e.insert(' [img]' + icon + '[/img]&nbsp;', '', true, true, true);
          });
        },
    
        // source
        txtExec : function(c) {
          var e = this;
          $.sceditor.command.get('twemoji').dropDown(e, c, function(icon) {
            e.insert(' [img]' + icon + '[/img] ', '', true, true, true);
          });
        },
    
        tooltip : fa_twemoji.button_title
      });
  
      toolbar = toolbar.replace(/date,/,'twemoji,date,'); // add the button to the toolbar
    }
  });
  
  if (!window.fa_twemoji) {
    window.fa_twemoji = config;
  }
}());


Merci d'avance ;)


Dernière édition par Chocolatine le Dim 2 Juil 2017 - 21:55, édité 1 fois
fascicularia
avatar
Administrateur

Messagefascicularia

  • 16px
  • 24px
  • Zoom
Bonjour chocolatine,
il suffit de remplacer :
Code:
.sceditor-twemoji img{cursor:pointer;padding:3px}.

par
Code:
.sceditor-twemoji img{cursor:pointer}.

le js modifié
Code:
(function() {
  var config = {
    button_title : 'Emojis',
    auto_close : false,
    async_load : true,
    
    emoji_size : 16, // 16, 36, or 72
    emoji_list : '\uD83D\uDE00 \uD83D\uDE01 \uD83D\uDE02 \uD83D\uDE03 \uD83D\uDE04 \uD83D\uDE05 \uD83D\uDE06 \uD83D\uDE09 \uD83D\uDE0A \uD83D\uDE0B \uD83D\uDE0E \uD83D\uDE0D \uD83D\uDE18 \uD83D\uDE17 \uD83D\uDE19 \uD83D\uDE1A \u263A\uFE0F \uD83D\uDE07 \uD83D\uDE10 \uD83D\uDE11 \uD83D\uDE36 \uD83D\uDE0F \uD83D\uDE23 \uD83D\uDE25 \uD83D\uDE2E \uD83D\uDE2F \uD83D\uDE2A \uD83D\uDE2B \uD83D\uDE34 \uD83D\uDE0C \uD83D\uDE1B \uD83D\uDE1C \uD83D\uDE1D \uD83D\uDE12 \uD83D\uDE13 \uD83D\uDE14 \uD83D\uDE15 \uD83D\uDE16 \uD83D\uDE37 \uD83D\uDE32 \uD83D\uDE1E \uD83D\uDE1F \uD83D\uDE24 \uD83D\uDE22 \uD83D\uDE2D \uD83D\uDE26 \uD83D\uDE27 \uD83D\uDE28 \uD83D\uDE29 \uD83D\uDE2C \uD83D\uDE30 \uD83D\uDE31 \uD83D\uDE33 \uD83D\uDE35 \uD83D\uDE21 \uD83D\uDE20 \uD83D\uDC7F \uD83D\uDE08'
  },
  
  script = document.createElement('SCRIPT');
  script.type = 'text/javascript';
  script.src = 'http://twemoji.maxcdn.com/twemoji.min.js';
  
  document.getElementsByTagName('HEAD')[0].appendChild(script);
  document.write('<style type="text/css">.sceditor-button-twemoji div{background:url(http://twemoji.maxcdn.com/16x16/1f600.png)!important}.sceditor-twemoji{width:220px;height:250px;overflow-y:auto}.sceditor-twemoji img{cursor:pointer}.sceditor-twemoji img:hover{opacity:.7}</style>');
  
  $(function(){
    if ($.sceditor) {
      
      // create sceditor button and drop down
      $.sceditor.command.set('twemoji', {
        dropDown : function(editor, caller, callback) {
          
          if (!fa_twemoji.element) {
            fa_twemoji.element = document.createElement('DIV');
            fa_twemoji.element.innerHTML = twemoji.parse(fa_twemoji.emoji_list, {
              size : fa_twemoji.emoji_size,
              attributes : function() {
                return {
                  style : 'display:none;'
                };
              }
            }).replace(/\s(?=<|$)/g, '');
            
            // load handler for images to lighten the deployment of emoji
            // it displays and loads one image at a time rather all at once which can make the browser unresponsive
            if (fa_twemoji.async_load) {
              fa_twemoji.image = {
                collection : $('img', fa_twemoji.element),
                index : 0,
                timeout : [0, 6000], // timeout after 6000 attempts on 1 image
              
                load : window.setInterval(function() {
                  if (fa_twemoji.image.collection[fa_twemoji.image.index].complete) {
                    fa_twemoji.image.index++;
                  
                    if (fa_twemoji.image.collection[fa_twemoji.image.index]) {
                      fa_twemoji.image.collection[fa_twemoji.image.index].style.display = '';
                      fa_twemoji.image.timeout[0] = 0;
                    } else {
                      window.clearInterval(fa_twemoji.image.load);
                      fa_twemoji.image.load = 'COMPLETE';
                    }
                  
                  } else if (++fa_twemoji.image.timeout[0] > fa_twemoji.image.timeout[1]) {
                    window.clearInterval(fa_twemoji.image.load);
                    fa_twemoji.image.load = 'ERROR';
                  }
                }, 10)
            };
            
            fa_twemoji.image.collection[fa_twemoji.image.index].style.display = ''; // start loading
            } else {
              $('img', fa_twemoji.element).show();
            }
          }
          
          $(fa_twemoji.element).click(function(e) {
            var target = e.target;
            if (target.tagName == 'IMG') {
              callback(target.src);
              fa_twemoji.auto_close && editor.closeDropDown(true);
            }
          });
          
          editor.createDropDown(caller, 'twemoji', fa_twemoji.element);
        },

        // wysiwyg
        exec : function(c) {
          var e = this;
          $.sceditor.command.get('twemoji').dropDown(e, c, function(icon) {
            e.insert(' [img]' + icon + '[/img]&nbsp;', '', true, true, true);
          });
        },
    
        // source
        txtExec : function(c) {
          var e = this;
          $.sceditor.command.get('twemoji').dropDown(e, c, function(icon) {
            e.insert(' [img]' + icon + '[/img] ', '', true, true, true);
          });
        },
    
        tooltip : fa_twemoji.button_title
      });
  
      toolbar = toolbar.replace(/date,/,'twemoji,date,'); // add the button to the toolbar
    }
  });
  
  if (!window.fa_twemoji) {
    window.fa_twemoji = config;
  }
}());

Par curiosité : où trouves-tu les codes de ceux que tu rajoutes ?



Administrateur des forums



Chocolatine
avatar
Nouveau membre

MessageChocolatine

  • 16px
  • 24px
  • Zoom
Merci, mais je ne parle pas de l'espace dans le menu, mais de l'espace quand on ajoute des smileys (l'espace quand les emojis sont publiées ;))
fascicularia
avatar
Administrateur

Messagefascicularia

  • 16px
  • 24px
  • Zoom
Je crains que cela ne soit pas possible.

Certes, le js inclut automatiquement un espace entre les images dans cette partie
Code:
 e.insert(' [img]' + icon + '[/img] ', '', true, true, true)
avec le 
Code:
&nbsp;

mais l'éditeur fait lui même un saut de ligne qu'il traduit en espace lors de la diffusion.

Je laisse Philippe voir s'il peut créer un js qui n'affectera que les Emojis



Administrateur des forums



Milouze14
avatar
Fondateur

MessageMilouze14

  • 16px
  • 24px
  • Zoom
Hello Lorys et Stéphane,
hum un simple style résoudra ton problème:


Dans la feuille de style:
Affichage/Images et Couleurs/Couleurs/Feuille de style

Ajoutes ceci:
Code:

.postbody img[src^="http://twemoji.maxcdn"]{margin-left: -4px;}


Penses à valider les modifications en cliquant sur le bouton Valider



-Le respect de nos semblables est la règle de notre conduite.-

Fondateur des forums





Chocolatine
avatar
Nouveau membre

MessageChocolatine

  • 16px
  • 24px
  • Zoom
Merci ça marche ;)
fascicularia
avatar
Administrateur

Messagefascicularia

  • 16px
  • 24px
  • Zoom
-Staff du Forum Milouze14-



  • Hello 
    Sujet résolu et déplacé dans le forum adéquat.

Pour toute information,merci de contacter un Membre du Staff



Administrateur des forums



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

Créer un compte ou se connecter pour répondre

Vous devez être membre pour répondre.

S'enregistrer

Rejoignez notre communauté ! C'est facile !


S'enregistrer

Connexion

Vous êtes déjà membre ? Aucun soucis, cliquez ici pour vous connecter.


Connexion

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