Fort Müller

asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 - 12 mars 2004 à 14:21
 Tasiot - 16 janv. 2005 à 10:56
Bon je le trouve plus mon message que je voulais faire remonter, mais je l'ai retrouvé sur mon PC, et vu la date de création, je crois bien qu'il fait partie des message perdus :(

Donc le revoilà!
Salut,

Bon ça m'énerve un peu de ne pas pouvoir profiter des 4 petits boutons en bas quand j'édite un post...
Je sais qu'on en a parlé il y a peu, mais impossible de remettre la main dessus donc c'est un nouveau post :p

J'ai bidouiller un petit peu le script, pour voir ce qui était faisable, et j'ai trouvé un truc qui a l'air de fonctionner malgrés sa simplicitée déconcertante par rapport au code pour la même chose sous IE.

Enfin fonctionner fonctionner... pas partout quand même!

Ca passe sur:
FireBird (Windows/Linux)
Mozilla 1.5 (Linux) <1.5 ?
NetScape 7.1 (Windows) <7.1 ?

Ca passe pas sur:
Konkueror 3.1.4 (Linux)
NetScape 7.0 (Linux) ???bizzare
IE 6.0 (windows)

Donc j'ai modifier un poil l'ancien script, ça donne ça:
<script language="javascript">
<!--
ie = (navigator.appName == "Microsoft Internet Explorer") ? 1:0

function markSelection ( txtObj ) 
{
  if ( txtObj.createTextRange ) 
  {
    txtObj.caretPos = document.selection.createRange().duplicate();
  }
  else if (txtObj.getSelection)
  {
    txtObj.caretPos = document.getSelection();
  }
  else return; 
}

function insertTag ( txtName, tag, enclose ) 
{
  var closeTag = ((enclose) ? "</" + tag + ">" : "");
  var Tag = "<" + tag + ">";
  var txtObj = eval ( txtName );
  
  if (ie==1)
  {
    if (txtObj.createTextRange && txtObj.caretPos) 
    {
      var caretPos = txtObj.caretPos;
      if ( txtObj.caretPos.text == '') 
      {
        caretPos.text = ( ( enclose ) ? Tag + closeTag : Tag );
      }
      else 
      {
        caretPos.text = ( ( enclose ) ? Tag + caretPos.text + closeTag :
Tag + caretPos.text );
      }
      markSelection ( caretPos );
    }
    else 
      if (txtObj.getSelection && txtObj.caretPos)
      {
        txtObj.focus();
        var caretPos = txtObj.caretPos;
        caretPos.text = caretPos.text.charat(caretPos.text.length - 1)
 = ' ' ? Tag + closeTag +  ' ' : Tag + closeTag;
        markSelection ( caretPos );
      }
      else 
      {
        txtObj.value += Tag + closeTag;
      }
  }
  else
  {
    txtObj.value=txtObj.value.substr(0,txtObj.selectionStart)+Tag+
txtObj.value.substr(txtObj.selectionStart,
txtObj.selectionEnd-txtObj.selectionStart)+closeTag+
txtObj.value.substr(txtObj.selectionEnd);
  }
  txtObj.focus();
}
//-->
</script>
Avec en gras ce que j'ai ajouté :o)

Donc à tester pour voir si ça pose de réel problèmes à d'autre navigateurs (Sous konqueror ca re-colle le contenu du message :-( donc faudrai peut-etre s'arranger pour detecter konqueror, et soit ne rien faire, soit faire comme pour IE, qui a au passage un comportement indentique s'il passe par la portion de code que j'ai écrit)


Sinon, j'ai vu que teebo avait eu un soucis ici:
http://www.commentcamarche.net/forum/affich-624088
Même si le fait de poster un message vide est moins génant maintenant qu'on peut éditer, ça peut quand même rater dans certains cas :) ou pour les non-membres.

En modifiant le code comme suit:
...
<textarea wrap="soft" rows="8" cols="64" onkeyup="markSelection(this);"
onclick="markSelection(this);" onselect="markSelection(this);"
name="message"
onFocus="javascript:document.ajout.ajouter.disabled=false">
...
<input value="Ajouter" type="submit" disabled="true">
...
ça permettrait de ne pas pouvoir poster tant que la zone de message n'a pas eu le Focus, ça éviterai peut-être certains messages vides, même si ce n'est pas courant :o)

voili voilou! @++

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"

7 réponses

Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
12 mars 2004 à 14:40
Salut Asevere !

Vi, j'suis toutafé d'accord avec toi ! :)

Pour ceux qui veulent voir comment qu'il marche bien le script d'Asevere, c'est par-là =>
http://perso.club-internet.fr/thomas.belhalfaoui/provisoire/test_ccm.html
:-)

Qu'en penses-tu, Jeff ?
Ce serait cool si tu pouvais modifier le code :)

Merci d'avance ! :)
  ___________________
  |__ .: Thom@s :. ___|
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 426
12 mars 2004 à 14:46
Marci!
Sympa de l'avoir mis en ligne :)

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678 > asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024
12 mars 2004 à 15:00
:)
  ___________________
  |__ .: Thom@s :. ___|
0
teebo Messages postés 33491 Date d'inscription jeudi 14 octobre 2004 Statut Modérateur Dernière intervention 24 février 2011 1 793
12 mars 2004 à 15:32
Ouais ca serait pas con, en fait j'ai l'habitude de taper les balises a la main, je fais pas mal de xml en editeur de texte mais bon, pratique quand meme :o)


.  .  Bon!Si on m'empeche de travailler
\_/  Je ne me debattrai pas!
0
Jean-François Pillou Messages postés 18301 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
12 mars 2004 à 18:16
C'est chouette ça ! toutes mes lectures me disaient que ce n'était pas possible sous Mozilla... comme quoi :-)

Je ferais la modif ce WE !
0
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 426
12 mars 2004 à 18:18
Cool!!
Merci :o)

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
12 mars 2004 à 19:17
c'est cool !
merci Jeff ! :-)
  ___________________
  |__ .: Thom@s :. ___|
0
Jean-François Pillou Messages postés 18301 Date d'inscription lundi 15 février 1999 Statut Webmaster Dernière intervention 16 février 2023 63 274
13 mars 2004 à 02:45
Merci à vous de suggérer des bonnes idées, voire de me donner des bouts de code bien sympas :-)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 23 novembre 2024 426
13 mars 2004 à 02:52
Merci Jeff

J'ai pas de fille à marier mais si c'était le cas! ;)

"Si c'est stupide et que ça marche,
        alors ce n'est pas stupide"
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
13 mars 2004 à 20:05
Resalut Jeff !

Ce serait cool si on pouvait avoir la même chose sur la page d'édition de message :-)))
Merci d'avance ! :)

A+ :)
  ___________________
  |__ .: Thom@s :. ___|
0
Thom@s Messages postés 3412 Date d'inscription mardi 4 mars 2003 Statut Modérateur Dernière intervention 28 septembre 2019 678
14 mars 2004 à 10:46
Ayé, c'est fait ! :)
Merci Jeff ! :-)

C'est génial de pouvoir mettre en gras, italique... sans taper les balises à la main! :-)
:)

A+ :)
  ___________________
  |__ .: Thom@s :. ___|
0
Ton script est ok pour IE v6.0, pour FireFox v1.0, mais pas complétement pour Nescape v7.0.

En effet, sous Nescape v7.0, les balises se rajoutent au debut du textarea, et ce avec/sans sélection et avec/sans focus sur le textarea.

Sinon c'est super, je suis programmeur PHP/MySQL/HTML ... mais tu vois je bloquais sur la compatibilité sur Nescape.

Là ca passe quand même un peu, c'est le principal.

Je vais tester sous Opéra, je te retiendrai au courant dans la journée.
0