Retouche d'un code Javascript pour définir le "undefined"

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

Résolu Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Lun 8 Fév 2016 - 23:48

Bonjour/Bonsoir,

Je viens de tomber sur un code JS de Self qui est absolument génial et qui sert à permettre à chaque membre de choisir sa couleur et police de texte dans "Préférences".
Le voici:

Spoiler:

Code:
jQuery(function($){
   var t = $('#text_editor_textarea');
   if(location.pathname == '/profile' && /\?mode=editprofile&page_profil=preferences/.test(location.href)){
      $('form#register .forumline tr:last').before('<tr><td class="row1"><span class="gen">Couleur de vos messages :</span></td><td class="row2"><select name="color_choice" id="my_color"><option value="default" selected>défaut</option><option value="#660000">Rouge foncé</option><option value="#FF0000">Rouge</option><option value="#FF9933">Orange</option><option value="#663300">Marron</option><option value="#FFFF00">Jaune</option><option value="#006600">Vert</option><option value="#666633">Olive</option><option value="#00FFFF">Cyan</option><option value="#0000FF">Bleu</option><option value="#000099">Bleu foncé</option><option value="#6600FF">Indigo</option><option value="#990099">Violet</option><option value="#999999">Gris</option><option value="#EEEEEE">Blanc</option><option value="#000000">Noir</option></select></td></tr><tr><td class="row1"><span class="gen">Police de vos messages :</span></td><td class="row2"><select name="font_choice" id="my_font"><option value="default" selected>défaut</option><option value="Arial">Arial</option><option value="Arial Black">Arial Black</option><option value="Comic Sans MS">Comic Sans MS</option><option value="Courrier New">Courrier New</option><option value="Georgia">Georgia</option><option value="Impact">Impact</option><option value="Sans-serif">Sans-serif</option><option value="Serif">Serif</option><option value="Times New Roman">Times New Roman</option><option value="Trebuchet MS">Trebuchet MS</option><option value="Verdana">Verdana</option></select></td></tr>');
      var lc = localStorage.color_choice, lf = localStorage.font_choice;
      if(lc == undefined && lf == undefined){ lc = 'default'; lf = 'default'; }
      $('#my_color option[value="'+lc+'"]').attr('selected', true);
      $('#my_font option[value="'+lf+'"]').attr('selected', true);
      $('#my_color option').each(function(){ $(this).css('color', $(this).val()) });
      $('#my_font option').each(function(){ $(this).css('font-family', $(this).val()) });
      var c = $('#my_color'), f = $('#my_font'), s = 'option:selected';
      c.css({'color': lc, 'font-family': lf}).on('change', function(){
         var v = $(this).find(s).val();
         $(this).css('color', v);
         f.css('color', v);
         localStorage.setItem('color_choice', v);
      });
      f.css({'color': lc, 'font-family': lf}).on('change', function(){
         var v = $(this).find(s).val();
         $(this).css('font-family', v);
         c.css('font-family', v);
         localStorage.setItem('font_choice', v);
      });
   }else if(t.length != 0){
      t.parents('form[action="/post"]').on('submit', function(){
         var i = t.sceditor('instance'), lc = localStorage.color_choice, lf = localStorage.font_choice, sc = new RegExp('\^\\[color='+lc+'\\]'), sf = new RegExp('\^\\[font='+lf+'\\]');
         if(!i.val().match(sc) && !i.val().match(sf)){
            if(lc == 'default' && lf != 'default') i.val('[font='+lf+']'+i.val()+'[/font]');
            else if(lf == 'default' && lc != 'default') i.val('[color='+lc+']'+i.val()+'[/color]');
            else if(lc != 'default' && lf != 'default') i.val('[font='+lf+'][color='+lc+']'+i.val()+'[/color][/font]');
         }
      })
   }
});

Seul bémol: la couleur par défaut (lorsqu'on ne le choisit pas) est d'un vert fluo très... fluo.
Il faut d'abord obligatoirement aller faire un choix de couleur avant que le "défaut" prenne la couleur du forum.

Je voudrais donc savoir s'il est possible en modifiant le JS ou en prenant par le CSS de définir le "undefined" de la couleur par défaut en "#29221D" et ce sans que le membre ait à le faire manuellement.
Désolée je suis nulle en explications.Sad

Merci à qui voudra bien m'aider Very Happy


Dernière édition par I Am LiBeRtY le Sam 13 Fév 2016 - 22:55, édité 1 fois

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par kiwi14637 le Sam 13 Fév 2016 - 18:26

Bonjour,

Pourriez-vous ouvrir une section aux Invités s'il-vous-plait ?
Merci !

Bonne soirée !

kiwi14637
# Tropactif #

Masculin
Messages : 1388
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Sam 13 Fév 2016 - 19:12

Bonjour! Very Happy
Merci de vous pencher sur mon cas^^

Je viens de donner l'accès aux invités à ce sujet (si c'est bien ce que vous vouliez dire).

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par kiwi14637 le Sam 13 Fév 2016 - 20:01

I Am LiBeRtY a écrit:Bonjour! Very Happy
Merci de vous pencher sur mon cas^^

Je viens de donner l'accès aux invités à ce sujet (si c'est bien ce que vous vouliez dire).
Bonjour,

Je n'ai pas eu le problème en postant donc il ne doit pas y avoir de rapport avec votre feuille de style personnalisée.
Pourriez-vous nous donner le code couleur de ce vert fluo s'il vous plaît ?

Merci !

Bonne soirée !

kiwi14637
# Tropactif #

Masculin
Messages : 1388
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Sam 13 Fév 2016 - 20:03

Oh quelle nouille je fais! J'avais déjà retiré le JV. Je le remets et je vous dis.

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Sam 13 Fév 2016 - 20:07

Re,

Voilà je l'ai remis! Smile

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par kiwi14637 le Sam 13 Fév 2016 - 20:15

Bonsoir,

La modification doit être toute simple mais je préfère que quelqu'un d'autre vous la fasse pour éviter les bêtises.
Il faut bien modifier le javascript.

Bonne soirée !

kiwi14637
# Tropactif #

Masculin
Messages : 1388
Inscrit(e) le : 19/05/2010

kiwi14637 a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Sam 13 Fév 2016 - 20:17

Merci beaucoup pour votre aide^^

Bonne soirée!

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par MasDan le Sam 13 Fév 2016 - 21:38

Bonjour,

Problème: À la première utilisation, le «local strorage» n'existe pas; ce qui implique que les variables lc(couleur) et lf(fonte) sont alors de type "undefined".

Solution: À la première utilisation, créer et assigner la valeur par défaut.



À la fin du code,
entre la ligne débutant par var i = ...
et la ligne débutant par if(!i.val...

insérer les deux lignes suivanttes
Code:
if (typeof(lc) == "undefined") { lc='default'}
if (typeof(lf) == "undefined") { lf='default'}

MasDan
*****

Masculin
Messages : 856
Inscrit(e) le : 24/05/2011

http://projetaum2.forumactif.com/
MasDan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Sam 13 Fév 2016 - 21:56

Bonjour! Very Happy
Merci de vous pencher sur mon problème^^

Juste pour ne pas faire de gaffe, dois-je remplacer les 2 lignes que vous m'avez proposé par celles qui sont déjà présentes à l'endroit où je dois les placer ou dois-je les mettre à la suite de celles-ci?

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par MasDan le Sam 13 Fév 2016 - 22:23

Insérer les deux lignes proposées entre les lignes actuelles 26 et 27.

avant l'insertion
Code:
 var i = t.sceditor('instance'), lc = localStorage.color_choice, lf = localStorage.font_choice, sc = new RegExp('\^\\[color='+lc+'\\]'), sf = new RegExp('\^\\[font='+lf+'\\]');
if(!i.val().match(sc) && !i.val().match(sf)){


après l'insertion
Code:
 var i = t.sceditor('instance'), lc = localStorage.color_choice, lf = localStorage.font_choice, sc = new RegExp('\^\\[color='+lc+'\\]'), sf = new RegExp('\^\\[font='+lf+'\\]');
if (typeof(lc) == "undefined") { lc='default'}
if (typeof(lf) == "undefined") { lf='default'}
if(!i.val().match(sc) && !i.val().match(sf)){


MasDan
*****

Masculin
Messages : 856
Inscrit(e) le : 24/05/2011

http://projetaum2.forumactif.com/
MasDan a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Retouche d'un code Javascript pour définir le "undefined"

Message par Pitra le Sam 13 Fév 2016 - 22:53

C'est exactement ce qu'il me fallait, vous êtes mon sauveur!!!!
Un grand Thanks

Je passe le sujet en résolu^^

Bonne soirée à vous!

Pitra
***

Féminin
Messages : 132
Inscrit(e) le : 16/09/2015

http://bimbforum.forumeiros.com
Pitra 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