Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MISE EN FORME DE TEXTE [ SAISIE WYSIWYG ]


Information sur la source

Catégorie :Divers Classé sous : éditeur, wysiwyg, texte, richtext, editor Niveau : Débutant Date de création : 08/07/2005 Date de mise à jour : 08/05/2008 12:33:42 Vu / téléchargé: 18 135 / 3 686

Note :
9,5 / 10 - par 14 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (84)
Ajouter un commentaire et/ou une note


Description

gras, souligné, italique, couleur caractères
et fond, police, taille, insertions objets ...
testé avec FireFox, Internet Explorer, K-Meleon, Opera, Safari.

 

Conclusion

j'ai vu pas mal de questions sur la mise en forme de texte
dans une page html.
j'avais déjà posté une saisie wysiwyg  mais exclusif
Internet Explorer.
cette version fonctionne avec Mozilla et bien sûr avec
Internet Explorer, cependant  il y a quelques fonctions
que je ne  suis pas parvenu à faire fonctionner avec
Mozilla : erreur de syntaxe de  ma part ( sûrement ! )
ou ça ne marche pas ? si vous savez, dites moi ...
[ Copy,Cut,Paste,CreateLink, tous les Insert??
  comme InsertButton ou InsertImage,
  SaveAs... etc, qui fonctionnent parfaitement bien,
  enfin que je sais faire marcher, avec  Internet Explorer ]

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

10 juillet 2005 13:00:03 :
_ amélioration du choix des couleurs [ par déplacement d'un curseur ] _ ajout de spécificités d'Internet Explorer [ pas de raison de s'en priver, même si pour l'instant je ne sais les faire marcher qu'avec ce navigateur ]
10 juillet 2005 14:56:17 :
j'avais mis une version de travail et non pas la version provisoirement définitive, qui est définitivement provisoire.
12 juillet 2005 12:53:17 :
quelques petites améliorations.
08 mai 2008 12:33:43 :
amélioration du choix des couleurs

Commentaires et avis

signaler à un administrateur
Commentaire de coucou747 le 09/07/2005 00:52:59

il ne fonctionne pas avec Konqueror, et je n'ai pas réussi à le faire fonctionner avec ce navigateur, comme tu as prévu un switch au lieu d'un if, j'ai pensé que tu attendais les problèmes de compatibilités, je te préviens donc...
navigator.appName="Konqueror"
je n'ai malheureusement pas réussi à trouver un exemple de wysiwyg qui fonctionne avec MSIE, gecko, opera et KHTML...

C'est du bon travail, je te remerci, ça me servira beaucoups...

signaler à un administrateur
Commentaire de bultez le 09/07/2005 09:48:52

salut couco747,
effectivement j'espère des retours
pour les autres navigateurs... et
surtout comment faire avec eux
tout ce qu'on peut faire avec IE.

signaler à un administrateur
Commentaire de RazielReaver le 09/07/2005 13:51:05

Seul point noir pour choisir la couleur... Ca devient assez lourd au Bout d'un moment de trouver unE couleur en mélangeant les RVB et le défilement des composantes RVB et long.

Sinon c vraiment super sympa bravo pour ton travail..

signaler à un administrateur
Commentaire de bultez le 09/07/2005 15:23:51

salut RazielRaever

>>Seul point noir pour choisir la couleur
et je peux comprendre ce point de vue,
c'est la "moins mauvaise" solution
que j'ai trouvé pour être compatible.

avec Internet Explorer j'utilise un
Active'X ( CommonDialog ) et c'est
nickel chrome.

pour "tous navigateurs" , je pensais :
_ autoriser la saisie de valeurs => mais
dans ce cas le texte perd la zone de
sélection ( peut-on éviter cela ? ) et
saisir 3 valeurs ce n'est pas très
"propre" non plus.
_ cliquer sur une couleur dans un tableau =>
soit trop lourd ( 255x255x255 )
soit on n'a pas accès à toutes les couleurs.
_ un mélange de ces 2 solutions
un mini tableau de couleurs + affinage
manuel, je ne trouve pas ça satisfaisant.

donc si vous avez des idées : elles
sont les bienvenues.

signaler à un administrateur
Commentaire de LocalStone le 09/07/2005 17:51:30

Pour les couleurs, tu peux - je pense - assez simplement copier le système de Paint. Tu prends une image qui contient toutes les couleurs, et suivant la position de la souris sur la palette, tu peux en déduire la couleur. Je ne crois pas que ce soit extrèmement compliqué à mettre en place ...
Voilà !
++ !
L.S.

signaler à un administrateur
Commentaire de bultez le 10/07/2005 13:04:43

je viens de rectifier ce choix de couleurs :
par déplacements d'un curseur sur une échelle.
merci de vos commentaires.

signaler à un administrateur
Commentaire de Arto_8000 le 10/07/2005 22:41:26

Il y a quelques bugs dans ton script ,quand on insert un select et que l'on va voir la source le select est en premier plan et cache une partie de la source (testé sur IE).Quand on charge la page il y a un rectangle noir qui cache la partie de l'éditeur (testé sur Netscape 7.1). Si tu veux voir ce que tu peux faire avec les différents navigateurs il existe un open source qui s'appelle RichTextBox Editor ,il fonctionne sur Gecko et IE.

signaler à un administrateur
Commentaire de coucou747 le 11/07/2005 00:23:48

RichTextBox ne fonctionne pas non plus sous Konqueror...

signaler à un administrateur
Commentaire de Arto_8000 le 11/07/2005 00:59:23

C'est sûr, Konqueror ne supporte pas l'attribut designMode. A propos Konqueror est-ce que c'est vraiment utilisé sur le web. Sinon je vois pas pourquoi le fait qu'un script ne fonctionne sur Konqueror change quelquechose.

signaler à un administrateur
Commentaire de bultez le 11/07/2005 06:48:44

à Arto_8000
>>quand on insert un select et que l'on va voir
>>la source le select est en premier plan et cache
>>une partie de la source (testé sur IE).
"bug" connu. on n'arrive pas à mettre un
objet au dessus d'un select ( un div par ex )
j'ai lu que ça venait du fait que les select
n'étaient pas gérés comme les autres objets.
>>il y a un rectangle noir qui cache la partie
>>de l'éditeur (testé sur Netscape 7.1).
c'est du à quoi ? comment faire pour éviter ?
[ mais Netscape n'est-il pas mort ? ]
>>open source qui s'appelle RichTextBox Editor
peut-être puis-je y trouver comment faire
pour les autres navigateurs ? on trouve
ça où ? recherche avec google ?    @+

signaler à un administrateur
Commentaire de lordskyser1 le 11/07/2005 11:10:48

bon travail!
Dommage pour les navigateurs exotiques style Konqueror mais bon, c'est pas la majorité. Ceux qui utilisent ces navigateurs (hein coucou ;-)) n'ont qu'à en changer jusqu'à ce qu'ils soient plus au point lol. On va pas faire le travail de compatibilité à la place des développeurs du navigateur quand même. Paske sinan il marche pas non plus avec le navigateur que j'ai développé TotoNavigator....

signaler à un administrateur
Commentaire de coucou747 le 11/07/2005 13:33:48

Dans un sens Konqueror fait 1 % des visites sur mon site web, ce site web parle de la programmation, donc, c'est assez normal de croiser des linuxois qui aiment bien Konqueror. Cependant, quand on a Konqueror, on a souvent aussi Mozilla, Firefox et d'autres navigateurs gecko....
Konqueror est le navigateur par défaut de l'environement KDE sous linux, KDE est l'environement graphique par défaut sous beaucoups de distributions de linux. Il est vraiment bon, je n'ai croisé des problèmes qu'avec les wysiwygs... Konqueror a pour particularitée de gérer à la fois les normes classiques et une grande quantité de normes MS...
Konqueror a été créé par l'entreprise trolltek, ils font aussi KDE et QT, c'est une entreprise qui vit de l'open-source et qui dévelope en donnant ses produits aux linuxois et en faisant payer les windowsiens... Ce n'est pas un projet open source comme les autres dans le sens ou on ne peut pas intègrer le projet facilement, mais dans un sens, c'en est un à part entière, et on ne doit pas l'oublier...
Perso, j'essai de déveloper pour le maximum de monde quand je le peux, alors si on peut le faire, autant le faire, quand c'est pas possible, je comprends, mais on ne doit pas oublier un groupe sous prétexte qu'il est réduit alors qu'on pourrait l'intègrer facilement (pe). Faut aller voir sur linux-fr.org le sujet sera peut-être plus dévelopé...
L'éditeur de texte RichTextBox Editor a un défaut majeur : il est lent, et un défaut mineur : il n'est pas fait pour être lu (cf leurs retours à la ligne foireux et l'absence de commentaires...)

signaler à un administrateur
Commentaire de la_pin le 11/07/2005 19:04:30

Super sympa cet éditeur, j'aime bien la fonction enregistrer ^^

signaler à un administrateur
Commentaire de lordskyser1 le 11/07/2005 23:00:59

dernières questions sans rapport avec la source dslé : existe-il-des versions windows de konqueror, galéon et safari? Si oui, où les télécharger? Si ma feuille de style externe marche avec mozilla, firefox, netscape et MSIE, elles fonctionnera sous cs navigateurs "exotiques"? Voilà, dslé pour le dérangement mais je n'ai pas encore trouvé de réponse

signaler à un administrateur
Commentaire de Arto_8000 le 12/07/2005 03:30:57

A bultez -> Si tu veux la source de RichTextBox Editor je l'ai zipper et je l'ai mis sur le site :

http://www.geocities.com/scrip154/rte.zip

A coucou747 -> Je ne sais pas avec quel navigateur tu as chargé RichTextBox ,mais chez moi ça prend 1 seconde. C'est vrai que la source n'a aucun commentaire ,mais ça n'empêche pas le fait que l'on ne peut pas rien apprendre.

signaler à un administrateur
Commentaire de coucou747 le 12/07/2005 07:07:29

ces navigateurs ont pour moteur html :
-gecko pour Mozilla, firefox, galeon, epiphany
-khtml pour Konqueror
pour safari et opera, je n'en sais rien...

les moteurs seront prochainement accèssibles partout, je crois qu'ils sont déja accèssible sous windows, mais comme win ne m'interesse pas vraiment, je n'ai pas vérifié...

signaler à un administrateur
Commentaire de bultez le 12/07/2005 12:37:52

à Arto_8000, merci pour RTE.ZIP :
pas vu/appris grand chose...
d'ailleurs je trouve mon script
bien plus simple, plus lisible,
et plus complet.( mais c'est
normal, c'est le mien, je comprend
ce que j'ai écrit, et je ne vais
pas le dénigrer non plus )    @+

signaler à un administrateur
Commentaire de coucou747 le 13/07/2005 20:43:54

je te remercie vraiment, j'ai créé à mon tour mon propre wysiwyg, (je ne t'ai copié qu'une petite partie de la fonction init, alors on peut dire que je l'ai fait moi même, mais grace à toi, restons modeste...)
j'ai un petit problème, et une amélioration possible pour ton script : dans les wysiwygs classiques (les diférents offices,) quand on est sur une région sélecionnée, le bouton sélectionné est souligné, j'aimerais faire la même chose, tout ce que j'ai réussi à faire, c'est ça :
function toolbar_color(){
//alert(texte.queryCommandEnabled("JustifyFull"));
if (texte.queryCommandState("JustifyFull")==true)
document.getElementById("justifie").style.backgroundColor="#F00";
else
document.getElementById("justifie").style.backgroundColor="none";
if (texte.queryCommandState("Italic")==true)
document.getElementById("italique").style.backgroundColor="#F00";
else
document.getElementById("italique").style.backgroundColor="none";
setTimeout("toolbar_color();", 1000);
}

bon, c'est sur que c'est pas super super, la fonction s'appelle toutes les secondes, et c'est pas super cool, mais un onkeypress sur l'iframe ne fonctionne pas...
Cette fonction donne les commandes qui ont étés utilisées, mais pas les commandes qui ont étés utilisées sur la sélection...
Si quelqu'un pouvait m'aider, ça améliorerais nos deux wysiwyg...

signaler à un administrateur
Commentaire de bultez le 14/07/2005 13:58:32

ouais coucou747 , amélioration
possible et intéressante.
avec onkeyup, sous Internet
explorer, ça marche.
regardons pour les autres
navigateurs ( peu d'idées là
moi, espérons de l'aide ).

signaler à un administrateur
Commentaire de coucou747 le 14/07/2005 16:10:11

le setTimeout n'est qu'un détail, ce que je veux, c'est afficher le fait qu'on soit sur une zone soulignée, en gras ... ou non...

signaler à un administrateur
Commentaire de rottweiler le 17/07/2005 01:47:41

Le choix des couleur version standard est serait beaucoup mieux , sinon pas mal du tout ton job .

signaler à un administrateur
Commentaire de lacousine le 14/08/2005 22:43:43

je te remercie d'avoir affiché ton code ici, car j'essayais justement d'intégrer les balises à mon formulaire qui me permet d'écrire dans ma base de données. Il manquait de la mise en page. Je vais vérifier comment je pourrais intégrer certaine de tes fonctions à mon code.

signaler à un administrateur
Commentaire de zouam le 07/10/2005 08:42:25

slt tt le monde, je suis novice en javascript et j'aimerais intégrer ce sript a mon site, qlq un pourrais faire un petit tuto? merci

signaler à un administrateur
Commentaire de Netsuko le 20/10/2005 11:31:10

Slt tout le monde, j'ai un petit souci avec le code : J'essaye de récupérer la valeur de la textarea dans une deuxième page php par methode POST. Dans "Action" j'ai bien mis ma page php.
Rien ne s'affiche sauf quand j'enlève "display:none;" de la balise style de la textarea.
Mais du coup la mise en forme ne s'affiche plus en direct ...
Quelqu'un peut m'aider svp ?

P.S : Merci pour ce code c'est nikel !

signaler à un administrateur
Commentaire de Netsuko le 20/10/2005 11:32:04

Slt tout le monde, j'ai un petit souci avec le code : J'essaye de récupérer la valeur de la textarea dans une deuxième page php par methode POST. Dans "Action" j'ai bien mis ma page php.
Rien ne s'affiche sauf quand j'enlève "display:none;" de la balise style de la textarea.
Mais du coup la mise en forme ne s'affiche plus en direct ...
Quelqu'un peut m'aider svp ?

P.S : Merci pour ce code c'est nikel !

signaler à un administrateur
Commentaire de bultez le 20/10/2005 11:50:18

>>Rien ne s'affiche sauf quand >>j'enlève "display:none;"
ben oui, display:none c'est pour ne rien afficher
>>la mise en forme ne s'affiche plus en direct
ben oui, les balises ne sont pas interprétées
dans un textearea mais affichées comme du texte.

signaler à un administrateur
Commentaire de darkman2 le 08/11/2005 07:00:16

je trouve super sympa ton code
coté design c'est cool
mais essai de voir la compatibilité avec netscape et Konqueror
et bonne continuation

signaler à un administrateur
Commentaire de coucou747 le 08/11/2005 17:54:50

On ne peut pas le rendre compatible Konqueror à l'heure qu'il est... Faut en parler à TrollTeck

signaler à un administrateur
Commentaire de bultez le 09/11/2005 09:09:15

si coucou747 le dit c'est que c'est vrai,
merci donc à lui de cette information.

signaler à un administrateur
Commentaire de coucou747 le 09/11/2005 14:55:51

lol, j'ai passé du temps à faire quelquechose de fonctionnel sous tout les navigateurs, et finalement, j'ai fais un truc genre :
si t'as ie ou gecko, t'as un wysiwyg, si t'as KHTML, t'as un éditeur de BBCODE avec aperçu automatique...

Ma fonction est plutôt sympas, et l'aime bien le résultat, mais voila, je n'ai pas réussi à faire de wysiwyg sous konqueror, et on ne peut pas utiliser l'iframe pour ça... (en tout cas, je n'ai vu aucun exemple qui fonctionnait...)

signaler à un administrateur
Commentaire de famak le 17/03/2006 14:35:41

j'ai le meme probleme que zouam a savoir que je vien tout juste de commencer le javascript et que je comprend pas comment intégrer ton code qui fonctionne a merveille pour pouvoir modifier des page html déjà créer.

signaler à un administrateur
Commentaire de coucou747 le 17/03/2006 18:02:30

pour modifier des pages html, tu dois avoir un truc coté serveur pour les enregistrer...

signaler à un administrateur
Commentaire de ChrisPM le 20/03/2006 13:48:06

hello,

coucou747 > je ne sais pas si depuis ton dernier message sur le sujet, tu as réussi à faire ce que tu voulais, c'est à dire imiter le fonctionnement d'office ou de tout autre traitement de texte : en cliquant sur un texte, ou en se déplacant dessus au clavier, les boutons de la barre d'outils s'actualisent en fonction du style du texte. Et en cliquant sur un bouton pour appliquer le style, le bouton garde l'état activé de ce style.

Bref, si tu n'a pas encore réussi, je l'ai fait sur mon adapation perso du "cross browser rich text editor" de kevin roth, et ça marche très bien ! Ca m'indique le style (gras, italique, souligné, listes, etc), et la police/taille du texte choisie selon une liste. (j'ai imité le dessin et le fonctionnement, mis à part la saisie de valeurs, des combo-box dans office ^^

aussi, pour le choix de la couleur, j'ai imité le fonctionnement de word, à savoir que lorsqu'on choisit une couleur, la petite bande sous le pot de peinture se colore, et la couleur est conservée (par cookie) pour les prochaines visites de la page.

un exemple de mon intégration : http://forum.chrispm.com/post.php?idtheme=4&action=nouv&f=tous

si quelqu'un est intéressé, servez-vous, les js sont accessibles :D

signaler à un administrateur
Commentaire de coucou747 le 20/03/2006 19:04:36

j'ai aussi réussi à le faire

signaler à un administrateur
Commentaire de ChrisPM le 21/03/2006 07:29:34

héhé tant mieux alors ;)

signaler à un administrateur
Commentaire de bany74 le 28/03/2006 20:16:05

ChrisPM Merci pour tes scripts que je vais étudier de ce pas...
j'ai regardé ton forum il est magnifique.

tous ces posts sont trés instructifs merci à tous!

bon courage

signaler à un administrateur
Commentaire de DeWaRs le 12/10/2006 15:15:13

J'aimerai savoir comment integrer ce genre de script dans une page en PHP classique. En fait, ce genre de script permettrai de rajouter une news par exemple sans avoir a integrer de balise dans le texte. Ne connaissant rien au JS, j'aurais besoin de votre aide. scsof@free.fr si vous voulez me contacter.

signaler à un administrateur
Commentaire de mendossa le 18/12/2006 15:12:21

Bonjour à tous,

J'utilise actuellement ce script qui fonctionne très bien sous Internet Explorer 6; mais je viens de me rendre compte qu'il ne fonctionnait pas sous IE7.
La zone est vérrouillé, quelqu'un aurait-il une solution ??



signaler à un administrateur
Commentaire de bultez le 18/12/2006 15:26:47

salut Mendossa,
je l'avais essayé lors de l'installation de IE7 RC1 ( français )
et je viens de tester avec la version IE7 "d'aujourd'hui" :
aucun souci pour moi.
tu peux nous en dire plus ? car "pas de raisons", à priori !

signaler à un administrateur
Commentaire de BIGROSA le 27/03/2007 13:32:03

Bonjour à tous.
Super travail.
Je suis nul en java script.
J'essaie d'envoyer à une page via son adresse le code html du texte tapé.

merci par avance.

signaler à un administrateur
Commentaire de bultez le 27/03/2007 13:54:02


salut Bigrosa

>>Super travail
..merci

>>Je suis nul en java script
..ça ne veut rien dire. JavaScript est un langage de programmation.
..on peut être nul en programmation ( je n'en suis pas loin ),
..pas nul dans un langage, quel qu'il soit ( sauf volontairement )

>>J'essaie d'envoyer à une page via son adresse le code html du texte tapé.
..alors là : "j'ai rien compris"
..il vaudrait probablement mieux poser la question sur le forum
..en explicant "un peu mieux" ( doux euphémisme )

@+

signaler à un administrateur
Commentaire de Jarod1980 le 05/04/2007 20:30:58

Salut,

Pourrais tu m'expliquer comment marche le saveAs, j'arrive pas à voir dans ton code où ça se trouve.
Au sinon, très bonne source, bravo!

signaler à un administrateur
Commentaire de coucou747 le 05/04/2007 22:32:52

j'ai remarque qu'il y a une erreur lors de la notation quand on clique sur les etoiles sans avoir commente juste avant la source, alors voila, 10/10

signaler à un administrateur
Commentaire de bultez le 06/04/2007 06:50:55

salut Jarod,

<input type="image"
src="SaveAs.gif"
title="Sauver"
onclick="btn1(this);" />

//————————————————————————————————————————————
function btn1(bou,p2,p3) //—— bouton ——
//————————————————————————————————————————————
{
p2 = p2 ? p2 : false; // valeurs par défaut
p3 = p3 ? p3 : null;
Champ.execCommand(bou.src.substring(bou.src.lastIndexOf("/")+1,
bou.src.lastIndexOf(".")),p2,p3);  
Fen.focus();
}

que ne comprends tu pas ?
@+

signaler à un administrateur
Commentaire de bcmfr le 17/11/2007 11:54:31 10/10

nikel
@+

signaler à un administrateur
Commentaire de Sibtcha le 31/01/2008 20:53:54 8/10

bonjour,

Tout d'abord, merci pour la source, elle est très bien faite. Cependant le je comprends pas la fonction btn1(bou, p2, p3). Quelqu'un pourrait-il me l'expliquer. Merci d'avance

Salutations sibtcha

signaler à un administrateur
Commentaire de bultez le 01/02/2008 08:13:20

juste le message au dessus, je demandais : que ne comprends-tu pas ?
je te pose donc la même question... ou, qu'est-ce qui te gène ?
les lignes p2= p3= ? le substring dans les paramètres de execCommand ?
@+

signaler à un administrateur
Commentaire de Sibtcha le 01/02/2008 11:10:37

alors en fait ce sont les  lignes p2 = p3 ? et la ligne du execCommand

dsl je ne suis pas super fort en Javascript mais je tente de m'amélioré.

Merci d'avance @+

signaler à un administrateur
Commentaire de Sibtcha le 03/02/2008 21:16:39

En fait c'est bon, après avoir réfléchis un peu j'ai compris le fonctionnement ce cette fonction (très bien faite d'ailleurs ;-))

Encore merci

Salutations Sibtcha

signaler à un administrateur
Commentaire de bultez le 04/02/2008 07:23:33

>>dsl je ne suis pas super fort en Javascript
moi non plus, mais y'a pas d'quoi être désolé.
>>après avoir réfléchis un peu j'ai compris
ben voilà, bravo, c'est essentiel de savoir réflêchir.
( et l'essentiel, c'est le principal )

signaler à un administrateur
Commentaire de Scratyx le 21/05/2008 11:32:52

Un très bon script mais seulement je me trouve en face d'un problème déjà mis en avant par NETSUKO en 2005.
Je me permet de le poser afin de peut être trouver une réponse claire.

Je teste ton script en ajoutant un input "submit" et en entrant l'adresse d'une page php (test.php) qui a pour but de récupérer et d'afficher le contenu de la page précédent. (j'ai bien compris le système qu'avec le display:none, il n'est possible d'avoir que du texte, là n'est pas le problème)

Mon problème réside dans le fait quje trasmet "txt" qui est vide. En effet le contenu de l'iframe n'est pas transmis à txt avant de l'envoyer.

Je m'y prend sans doute mal mais est il possible que quelqu'un me conseille sur la façon à adopter afin que je puisse transmettre le contenu de ce qui est tapé, à une autre page.

Merci en tout cas

signaler à un administrateur
Commentaire de bultez le 21/05/2008 11:58:42



certes, certes...
"il suffit" de le faire dans la balise form...

<form action="page.php"
onsubmit="trtTxt();"
method="post"
name="frm">

function trtTxt()
{ var tmp=document.getElementById("txt");
if ( tmp.style.display=="none" )
{ tmp.value=Champ.body.innerHTML; }
}

pas testé... mais pas loin...

signaler à un administrateur
Commentaire de Scratyx le 21/05/2008 12:44:53

Merci de ton aide :)

J'arrive donc maintenant à récupérer les données comme je le désire.

signaler à un administrateur
Commentaire de bultez le 21/05/2008 12:53:33

nickel si çà baigne...  merci du retour.    @+

signaler à un administrateur
Commentaire de Scratyx le 22/05/2008 09:43:04

Salut Bultez c'est encore moi !

Je tente d'améliorer (si on peut dire) ton script en ajoutant une valeur par défaut dans le textarea (enfin quand je dis textarea... ça serait plutôt dans l'iframe).

En gros la fonctionnalité que je veux apporter est la réédition d'une news.

Si je récupère le texte et que je le met dans le textarea, il n'apparait pas dans l'iframe. Y a t'il possibilité de récupérer le texte dans le textarea pour simplement mettre a jour l'iframe ?

Si non, penses tu que cela est possible ?

Cordialement, Scratyx.

signaler à un administrateur
Commentaire de bultez le 22/05/2008 10:40:31

regarde dans le script.
le "transfert" textarea <==> iframe y est fait ( click sur l'image <> )
document.getElementById("txt").value=Champ.body.innerHTML   et/ou
Champ.body.innerHTML=document.getElementById("txt").value

signaler à un administrateur
Commentaire de Scratyx le 22/05/2008 11:49:46

Je n'avais pas pensé à faire comme cela.

Merci pour tout ;)

signaler à un administrateur
Commentaire de PlayerMania le 14/09/2008 12:29:53 8/10

Bien sympa cette source, ça change des usines à gaz de tinymce ou autres...

Hélas je trouve qu'il reste tjrs un dernier bon souci sur tous ces wysiwyg, le copier/coller et glisser/déposer qui nous pond selon la source de copie une mise en forme plutôt exotique bien souvent.

Je pense qu'il faudrait réussir à ne pas mettre en forme du contenu collé ou déposé, pour pouvoir ensuite bien le remodeler via notre petite barre d'outil (et donc seulement avec nos outils possibles).

La solution serai qqch du genre onPaste sur l'élément,  qui détecte le collage, et au même moment on remouline  notre fameux "Saisie" pour lui enlever tout ce qu'on ne désire pas y trouver.

J'y travail, mais au final, la bonne emmerde, c'est que la balise iframe n'accepte pas onpaste="ma_fonction();"

Des idées ??

signaler à un administrateur
Commentaire de bultez le 14/09/2008 14:37:35


>>ça change des usines à gaz de tinymce ou autres
c'est n'est pas comparable.
ici 3 lignes en javascript ne génèrent que
ce que les développeurs des navigateurs ont prévu,
certes d'aucun jugent ça nul... probablement des non
développeurs ;o) ... il faudrait s'adresser aux équipes
de  microsoft, mozilla... et autres. je sais bien
que ces même personnes pensent que ces équipes
n'ont pas les compétences ;o))) !!!
ça me laisse pantois !!!  moi, je ne suis pas à
la hauteur pour faire mieux.
les "usinages à gaz" tentent d'améliorer ( quoique ?)
ce qui est généré (?) ,
chacun sa vision, et la caravane passe.
>>le copier/coller et glisser/déposer qui nous pond selon la
>>source de copie une mise en forme plutôt exotique bien souvent
euh... même un copié/collé depuis word vers un iframe
dans un autre navigateur que IE( sans aucun code du
à mon insuffisance ) ça baigne...
>>pour lui enlever tout ce qu'on ne désire pas y trouver
ah... si tu tentes de changer ce que tous les navigateurs
génèrent ( mais diable... pourquoi faire ? ), je n'ai pas
les compétences, et surtout... quelle importance ?
les prochaines versions de ces (tous ! ) navigateurs feront mieux...
@+

signaler à un administrateur
Commentaire de PlayerMania le 14/09/2008 16:32:07

Si tu voyais ce que des gonz arrive à incruster via ce contenteditable... des tableaux détraquer, des fontsize title de 28, un autre de 22, des couleurs/fonds super jakie, décalage margin de 30, un coup 60...

Au final, les pages html ne ressemblent plus a rien.

Bref, j'espère bien redonner un peu d'ordre dans tous ces bordels, il y a des pages ou je n'ai carément pas envie de donner la possibilité de mettre un tableau ou d'y placer une image ou je ne sais quoi. La barre d'outils a beau ne pas proposer l'option, celle ci est réalisable via copier/coller...

Et mal grès tout, il faut que je passe tout de même par un wysiwyg vu la complexité de certaine page à rentrer et la volonté des utilisateurs a analyser ce qu'ils font...

Au final, ça donne un wysiwyg adapté pour le site, avec des contraintes sur les fontsize de titres et paragraphes, couleurs possibles, interdiction de tableaux, etc...

Même du tout nouveau navigateur t'affichera un tableau la ou tu en avais pas envie ou autres.

Dommage que tu ne crois plus en ta caravane.
Je t'assure qu'elle mérite de lui refaire une sacré peinture, lol.
++

signaler à un administrateur
Commentaire de bultez le 14/09/2008 17:28:10


effectivement vu sous cet angle...
mais dans un iframe, on devrait pouvoir
intercepter avant le [copié/]collé... pas de raison
( ce n'est pas contenteditable qui est pour un
  div, mais "iframe".designMode='On';  )
probablement d'ailleurs en mettant l'interception
de cet évènement dans l'iframe....
@+

signaler à un administrateur
Commentaire de PlayerMania le 15/09/2008 22:54:13

As tu essayé ?
Mon iframe ne veux tjrs rien savoir...


function onPasteHandler(e) {
setTimeout(function() {
window.alert('coller');
}, 10);
}

...
case 'Microsoft Internet Explorer':
Fen=window.frames['Saisie'];
Champ=Fen.document;
Champ.body.attachEvent('onPaste', onPasteHandler);
Champ.designMode='On';
...



J'ai aussi essayé en modifiant le contenu de l'iframe :

...
case "Microsoft Internet Explorer":
Fen=window.frames['Saisie'];
Champ=Fen.document;
var html = '<html><head></head><body onpaste="parent.onPasteHandler();"></body></html>';
Champ.open();
Champ.write(html);
Champ.close();
Champ.designMode='On';
...

et tjrs aucune réaction, que faire ??

ça fonctionne bien sur la page englobante, avec un <body onpaste="onPasteHandler();"> (sauf dans l'iframe bien sure)
J'ai pas encore testé pour mozilla

signaler à un administrateur
Commentaire de PlayerMania le 15/09/2008 23:09:11

J'ai aussi testé d'autres combinaisons :

Combiner la creation de contenu de l'iframe et l'attachEvent

Fait une vrai page pour l'iframe, contenant la fonction onPasteHandler et le body onpaste=onPasteHandler


Je crois que j'oublie qqch pour faire l'attachEvent, non ??

signaler à un administrateur
Commentaire de bultez le 16/09/2008 09:28:52

ah ben... tiens ? simplement, dans la fonction initial()
Fen.window.onload=function() { alert('load'); }
ça baigne
Fen.window.onpaste=function() { alert('paste'); }
ça baigne pas...
et si on met src="page.htm" dans l'iframe, même punition !?!
faut donc creuser un peu plus loin...

signaler à un administrateur
Commentaire de PlayerMania le 17/09/2008 16:05:40

mouuais, j'ai cassé ma pelleteuse sur mozilla...

Réussi à arrivé au but avec ie et de la bonne bidouille pour faire passer onpaste, et donc recontroler la copie ou le drag.
Mais ceci n'est apparemment pas possible avec moz sans changer un de ses fichiers de configuration...

Je suis donc partie dans une toute autre direction, qui consiste à faire tourner en boucle le contenu de l'iframe pour le controler/modifier.

Et me revoila de nouveau avec un probleme mozilla...

A chaque changement de l'intérieur de l'iframe, il y a donc ma fameuse fonction de controle qui se lance, et bien sure a la fin de celle ci, je refile à l'iframe le nouveau contenu, et le problème, c'est que du coup le curseur est remit au debut de l'iframe (position 0).

Sous ie je m'en tire bien avec un moveStart('character', curseur_pos) pour le recaler, mais mozilla et son selectionStart ou autre ne veux rien savoir à ce qu'il trouve dans mon iframe.

QQun saurait comment gérer le curseur Mozilla dans une iframe modifiable ??

signaler à un administrateur
Commentaire de bultez le 17/09/2008 16:14:50

à mon avis, tu devrais poser la question sur le forum...
y compris d'ailleurs pour le coup du "onpaste qui semble
ne pas fonctionner sur l'iframe", il y aura probablement
des réponses, au moins des pistes, sûrement des idées.
@+

signaler à un administrateur
Commentaire de goudea le 16/12/2008 23:07:49 10/10

Bravo pour le travail fourni !
Je vais étudier la source pour m'en inspirer.
En tout cas, le test que j'ai effectué m'a impressionné !

signaler à un administrateur
Commentaire de aminewas le 31/12/2008 12:42:00

bonjour,

Tout d'abord, merci pour la source, elle est très bien faite.mais jé 1 problem j'arrive pas a recuperer les données de textarea avec le mise en forme qui jété ajouter
merci de me repondre

signaler à un administrateur
Commentaire de Bul3 le 31/12/2008 12:57:08

mais encore ?
>>j'arrive pas a recuperer les données de textarea
>>avec la mise en forme qui jété ajouter ??
tu n'arrives pas à récupérer où ? comment ?
l'iframe "Saisie" et le textarea "txt" sont là
pour ça... normalement.

signaler à un administrateur
Commentaire de aminewas le 31/12/2008 13:11:17

rebonjour
a propos la recuperation de données de textearea j'arrive a recuperé dans une textearea mais avec des balise <htlm>

signaler à un administrateur
Commentaire de Bul3 le 31/12/2008 13:17:59

il vaudrait mieux que tu  me contactes directement
ici : http://bul.o-n.fr/?bul
mais franchement, il faut te les arracher
les informations !
comment veux-tu qu'on t'aide avec aussi peu d'infos ?
enfin... moi j'en suis bien incapable.

signaler à un administrateur
Commentaire de aminewas le 31/12/2008 13:25:56

re c moi encore
je un problem quand je envoie le donnée a une destinaitaire je le recupere le donnée mais avec des balise <html>

exp:je envoi "salut" en gras ,souligné et italique
je recu comme ca<STRONG><EM><U>salut</U></EM></STRONG>

signaler à un administrateur
Commentaire de Bul3 le 31/12/2008 13:38:09

c'est normal.
comment veux tu sans balises html,
afficher du gras, du souligné... ?
@+

signaler à un administrateur
Commentaire de aminewas le 31/12/2008 13:48:51

wé, je sé il faut des balise html mais il faut traiter avec les balises html et l'afficher dans textearea sont balise html
car quand j'ouvre la boite de reception je trouve le text avec des balise html

signaler à un administrateur
Commentaire de Bul3 le 31/12/2008 14:05:34

euh.. et en frenchy ?
néanmoins : tu n'échapperas pas aux balises

signaler à un administrateur
Commentaire de aminewas le 01/01/2009 22:56:49

svp je peux pas eviter <iframe> ???

signaler à un administrateur
Commentaire de Bul3 le 02/01/2009 08:23:06

tu peux mettre un div contenteditable,
mais c'est exclusif IE, je crains.
pourquoi éviter iframe ? ça ne gène en rien...

signaler à un administrateur
Commentaire de camelion_ le 29/04/2009 21:16:54 10/10

Salut,
super source ,chapeau pour ton éditeur ,et pour tout tes commentaire
bon continuation

signaler à un administrateur
Commentaire de benoure le 31/05/2009 04:21:38

Salut c'est une super source !!
Mais je n'arrive pas a comprendre la fonction
function btn1(bou,p2,p3)
c'est-à-dire la ligne p2 = p3  et la ligne du execCommand.

signaler à un administrateur
Commentaire de Bul3 le 31/05/2009 12:07:04


execCommand :
     http://msdn.microsoft.com/en-us/library/ms536419(VS.85).aspx

p2 = p2 ? p2 : false;
     p2 = ce qui est passé en paramètre, false sinon
p3 = p3 ? p3 : null;
     p3 = ce qui est passé en paramètre, null sinon


on clique sur un bouton,
son nom est = "http://site/répertoire/..../Paste.gif" par exemple
on en tire "paste"
( bou.src.substring(bou.src.lastIndexOf("/")+1,
  bou.src.lastIndexOf(".") )

et execCommand("Paste",flase,null) ça copie le presse-papier

voili, voilou.

signaler à un administrateur
Commentaire de benoure le 31/05/2009 14:27:25

Ok merci ^_^!!
essaye d'ajouter la fonction tableau !!
Donc il suffit que je mette l'image tableau et que j'appelle la fonction bouton ??!!

signaler à un administrateur
Commentaire de Bul3 le 31/05/2009 15:34:18

oui. si tu donnes le bon src au bouton
( ça n'existe pas déjà dans mon script ?
  un ch'tiot oubli alors .... )

signaler à un administrateur
Commentaire de benoure le 31/05/2009 16:22:58

g mis board.gif  !!
Mais ça marche pas !!

signaler à un administrateur
Commentaire de Bul3 le 31/05/2009 18:35:33

d'où te vient ce board ????
tu crois que execCommand("board",false,null) ça baigne ?
faut pas tenter de deviner ! ça ne marche jamais !
regarde la doc msdn ou autre. ça doit être indiqué.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Texte riche [ par senechjf ] Bonjour,J'ai fait un fomulaire d'ajout de news pour mon site en php.Cette news va dans une bd mysql.J'aimerai améliorer mon formulaire en offrant la p Editeur de texte pour news [ par jicao ] Bonjour,J'etais en train de chercher un bon script "&#233;diteur de texte" pour les news de mon site, quand je tombe sur ce forum avec son superbe &#2 wysiwyg inserer du texte directement dans iframe [ par jerame ] Bonjour a tous, je suis en train de faire un wysiwyg moins evoluer que javascriptfr. Les principaux utilisateurs qui vont utiliser le WYSIWYG sont su Textarea = WYSIWYG éditeur HTML [ par Blasteur ] Bonjour à tous !Je recherche un javascript qui soit intégrable dans un formulaire de la même manière qu'une textarea. Ce script est en fait un éditeur textarea = WYSIWYG éditeur HTML [ par Blasteur ] Bonjour à tous !Je recherche un javascript qui soit intégrable dans un formulaire de la même manière qu'une textarea. Ce script est en fait un éditeur Editeur wysiwyg dans un div [ par picolo220 ] Bonjour, je suis en train d'essayer de réaliser un éditeur wysiwyg.Pour l'instant je m'intéresse seulement à firefox, je verrai plus tard pour IE.J'ai fichier texte affiché dans page html [ par pyves31 ] Bonjour, je suis un peu débutant en html et je voudrais savoir si c'était possible de pouvoir afficher un fichier texte (.txt ou . doc ou autres) dans Comment détecter les simples et les doubles saut de ligne dans un textarea (BBCode) ? [ par fabiano13 ] Bonjour,Comment détecter les simples et les doubles saut de ligne dans un textarea ?D'avance merci,Fabiano13&lt;html&gt; &lt;head&gt;&lt;title&gt;Pr Quel est la bonne l'expression régulière pour une liste à puce (BBCode) ? [ par fabiano13 ] Re: Bonjour,J'ai un problème en ce qui concerne la détection de plusieurs listes à puce en BBCode.Pas de problème pour une seule liste à puce, mais lo selectionner tout dans un text.box sur le onclic [ par inkydjango ] salut a tous !je voudrais que sur un evement  onclic d'une textbox, celle ci me selectionne tout le texte present qui est : "inserer votre texte"&lt;i


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,562 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.