Accueil > Forum > > > > wysiwyg inserer du texte directement dans iframe
wysiwyg inserer du texte directement dans iframe
mercredi 20 juillet 2005 à 12:35:06 |
wysiwyg inserer du texte directement dans iframe

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 sur ie et firefox.
Techniquement :
J'utilise un iframe avec designmode='on', pour ce qui est des
execcommande, pas de probleme pour faire le gras, italique, souligne et
tous les justtifié.
Maintenant mon probleme:
je voudrais que le comportement sous ie et firefox soit identique,
c'est à dire que quand j'appuie sur ma touche entrée, j'ai toujours
"<br>" quelque soit le navigateur, au lieu de
<p> </p> sous ie.
J'ai essayé d'attaché un evenement onkeypress pour detecter la touche
entrée sous ie et d'inserer <br> au lieu de
<p> </p>, mais sans résultat :
frames["test"].document.attachEvent("onkeypress", function
evt_ie_keypress(event) { setTimeout("javascript:retChariot();" , 1); });
Le code ci dessus n'est pas de moi
Première question :
comment fait on pour inserer du texte directement dans le code de la iframe ?
Deuxieme question :
comment fait on pour attacher un evenement à la iframe ?
Quelqu'un pourrait il me dire ce qui ne va pas ou me donner d'autres pistes ???
Merci
|
|
mercredi 20 juillet 2005 à 20:57:10 |
Re : wysiwyg inserer du texte directement dans iframe

coucou747
|
tu as du assigner un id à ton iframe...
à un moment, tu as iframe=document.getElementById...
pour insèrer du texte :
iframe.innerHTML+='mon texte'; In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy [ Lien ]
|
|
mercredi 20 juillet 2005 à 21:09:10 |
Re : wysiwyg inserer du texte directement dans iframe

jerame
|
Merci pour ta réponse,
je crois que c'est ce que j'ai fait, mais l'évènement ne m'est pas retourné, pourquoi ??
Voici mon code :
Tout est dans un fichier js
mon iframe a pour id= "saisie" et mon textearea id="txt"
var Champ,tmp, Fen;
//
function btn1(bou) // bouton sans paramètre
//
{
Fen.focus();
Champ.execCommand(bou.name,false,null);
}
//
function addImg(bou) //
//
{
Fen.focus();
Champ.execCommand('insertImage',false,bou.src);
}
//
function addLink(lien) //
//
{
Champ.body.innerHTML = Champ.body.innerHTML+lien;
}
//
function maj() // maj iframe ou textarea avant envoi formulaire
//
{ var tmp=document.getElementById("txt");
if (tmp.style.display=="none")
{
tmp.value=Champ.body.innerHTML;
}
else
{
Champ.body.innerHTML=tmp.value;
}
frm.submit();
}
//
function retChariot() // pour ie retour chariot devient br au lieu de p
//
{
Champ.body.innerHTML ="BOUH";
}
//
function voir(btn) // bascule html/Editeur
//
{ var tmp=document.getElementById("txt");
if (tmp.style.display=="none")
{ tmp.style.display="inline";
btn.title="Revoir la page";
tmp.value=Champ.body.innerHTML; }
else { tmp.style.display="none";
btn.title="Voir le Code HTML";
Champ.body.innerHTML=tmp.value; } }
//
function initWysiwyg() // Initialisation
//
{
switch (navigator.appName)
{
// ===========================
case "Microsoft Internet Explorer":
// ===========================
Fen=window.frames['Saisie'];
Champ=Fen.document;
frames["Saisie"].document.attachEvent("onkeypress", function
evt_ie_keypress(event){ setTimeout("javascript:retChariot();" , 1); });
break;
// =====
default:// sinon
// =====
Champ=document.getElementById('Saisie').contentDocument;
Fen=document.getElementById('Saisie').contentWindow;
//document.getElementById("Saisie").contentWindow.document.addEventListener("keypress",
function Gecko_Key_Press () { setTimeout("javascript:retChariot();" ,
1); }, true);
break;
}
Champ.designMode='On';
Champ.execCommand('FontName', false,'comic sans ms');
Champ.execCommand("FontSize", false,2);
Fen.focus();
}
|
|
mercredi 20 juillet 2005 à 21:48:07 |
Re : wysiwyg inserer du texte directement dans iframe

coucou747
|
t'as fait un vulgaire copier coller du code de bultez...
t'as changé que quelques noms...
un extrait du mien :
texte=document.getElementById("iframe").contentDocument;
texte.body.innerHTML=texte.body.innerHTML+"<a
href=\""+prompt("url","http://")+"\"
target=\"_blank\">"+prompt("texte","mon lien")+"</a>"; In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy [ Lien ]
|
|
mercredi 20 juillet 2005 à 22:22:15 |
Re : wysiwyg inserer du texte directement dans iframe

jerame
|
Merci pour ton aide coucou747,
est ce que c'est mal de réutiliser le code des personnes qui le mette à disposition, tu as du t'en inpirer ?
Toujours est il que si tu connais le code de bultez, la gestion des
évènements sur les touches pressées n'est pas pris en charge, et comme
je l'expliquais plus haut, j'ai besoin d'avoir un keylistener, pour
faire une action à chaque fois qu'on appuie sur la touche entrée, je
veux inserer dans la iframe un retour à la ligne <br> et non pas
<p> </p> pour internet explorer.
Si tu as une piste de ce côté, je suis preneur.
Une petite précision, je débute en javascript, donc, je ne connais pas
encore toutes les subtilités de class qu'il contient, dès que mes
petites fonctions seront parfaites, je ferais carrement une class
wysiwyg.
Merci à plus
|
|
jeudi 21 juillet 2005 à 08:26:53 |
Re : wysiwyg inserer du texte directement dans iframe

coucou747
|
je n'ai pas dit que c'était mal, mais pour nous éclairer, plutot que de
poster ton code, tu aurais pu simplement dire qu'il ofnctionnait comme
celui de bultezn, puisque c'est ta base...
Tu pourrais faire réponse accèptée pour la personne qui t'aide... ça serait plus corect...
Je me suis efectivement inspiré de son code, mais j'en ai changé toute
la façon de programmer : je n'ai pas fait de textarea, j'ai fait un
cadre en php pour détecter si le navigateur suportait ou non les
éditeurs wysiwyg, j'ai ensuite fait un moteur de BBcode pour le cas ou
un navigateur ne le suporterais pas... j'ai ensuite essayé de mettre
des couleurs sur les actions en cours....
pour ton problème, autant ne pas vérifier les touches, mais faire un replace dans le contenu de l'iframe...
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy [ Lien ]
|
|
jeudi 21 juillet 2005 à 10:18:55 |
Re : wysiwyg inserer du texte directement dans iframe

jerame
|
Merci pour ta réponse coucou747,
J'ai mis reponse accepté, parce que j'ai trouvé d'ou venait mon
problème au niveau du listener d'evenement (attachEvent pour ie), en
fait il faut déclarer le designMode='on' avant d'attacher ton evenement.
Donc le probleme pour detecter l'evenement est résolue.
J'ai bien pris en compte ta réponse, mais au niveau de l'utilisateur,
je préférer qu'il voit un retour à la ligne au lieu d'un saut de ligne.
Donc je suis toujours dans l'optique de detecter l'appuie sur la touche entree.
Maintenant un autre probleme intervient lorsque je veux detecter particulièrement "l'evenement touche entrée enfoncé dans mon champ iframe le code" ci dessous genere une erreur pour la fonction keyPress:
Y'a-t-il une gestion d'evènement particulier pour les iframes ???
En tout cas merci pour tes réponses rapides.
var Champ,tmp, Fen,navigateur;
//
function btn1(bou) // bouton sans paramètre
//
{
Fen.focus();
Champ.execCommand(bou.name,false,null);
}
//
function addImg(bou) //
//
{
Fen.focus();
Champ.execCommand('insertImage',false,bou.src);
}
//
function addLink(lien) //
//
{
Champ.body.innerHTML=
Champ.body.innerHTML+"<a href=\""+prompt("URL :
exple http://crazybonzai.free.fr","")+"\"
target=\"_blank\">"+prompt("texte commentaire du
lien","lien")+"</a>";
}
//
function maj() // maj iframe ou textarea avant envoi formulaire
//
{ var tmp=document.getElementById("txt");
if (tmp.style.display=="none")
{
tmp.value=Champ.body.innerHTML;
}
else
{
Champ.body.innerHTML=tmp.value;
}
frm.submit();
}
//
function keyPress() // pour ie retour chariot devient br au lieu de p
//
{ if(navigateur=="Microsoft Internet Explorer")
{
if(event.keyCode==13) // c est quand je veux detecter LA touche enfonce
// j ai aussi essaye avec window.event.keyCode
Champ.body.innerHTML ='coucou';
}
}
//
function voir(btn) // bascule html/Editeur
//
{ var tmp=document.getElementById("txt");
if (tmp.style.display=="none")
{ tmp.style.display="inline";
btn.title="Revoir la page";
tmp.value=Champ.body.innerHTML; }
else { tmp.style.display="none";
btn.title="Voir le Code HTML";
Champ.body.innerHTML=tmp.value; } }
//
function initWysiwyg() // Initialisation
//
{
navigateur=navigator.appName;
switch (navigator.appName)
{
// ===========================
case "Microsoft Internet Explorer":
// ===========================
Fen=window.frames['Saisie'];
Champ=Fen.document;
Champ.designMode='On';
//
ATTENTION pour attacher un evenement a l iframe, il faut declarer
design mode on avant
Champ.attachEvent("onkeypress", function evt_ie_keypress(event) {
setTimeout("javascript:keyPress();" , 1); });
break;
// =====
default:// sinon
// =====
Champ=document.getElementById('Saisie').contentDocument;
Champ.designMode='On';
Fen=document.getElementById('Saisie').contentWindow;
document.getElementById("Saisie").contentWindow.document.addEventListener("keypress",
function Gecko_Key_Press () { setTimeout("javascript:keyPress();" , 1);
}, true);
break;
}
Champ.execCommand('FontName', false,'comic sans ms');
Champ.execCommand("FontSize", false,2);
Fen.focus();
}
|
|
jeudi 21 juillet 2005 à 15:51:18 |
Re : wysiwyg inserer du texte directement dans iframe

jerame
|
OK j'ai résolue le probleme pour la gestion d'evenement,
mais mon problème pour les retours à la ligne subsistent toujours.
Je m'explique, lorsque je remplace dans mon iframe
Champ.body.innerHTML=Champ.body.innerHTML.replace(/<P> <\/P>/i,"");
et que je regarde l'affichage en innerHTML, j'obtient <P><br> </P>, j'en ai marre !! Y'a 'il un moyen de desactiver le mode paragraphe pour une iframe dans ie ???
Ce que je voudrais, c'est un retour à la ligne comme quand on fait
shift + entree dans les wysiwyg, mais sans le shift, c'est possible,
ils le font sur ce forum !! D'ailleurs, comment ils font ??
|
|
jeudi 21 juillet 2005 à 20:36:20 |
Re : wysiwyg inserer du texte directement dans iframe

coucou747
|
Réponse acceptée !
comment ils font ?
affichage + source...
In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy [ Lien ]
|
|
vendredi 22 juillet 2005 à 01:04:20 |
Re : wysiwyg inserer du texte directement dans iframe

jerame
|
En tout les cas :
merci pour ton aide
|
|
Cette discussion est classée dans : texte, ie, iframe, inserer, wysiwyg
Répondre à ce message
Sujets en rapport avec ce message
inserer du texte dans n'importe kel textarea [ par ajangot ]
est il possible de d'inserer du texte dans n'importe kel textarea car je veux faire un formulaire avec plusieur champs et une barre d'option (comme en
iframe, et selection de texte [ par emilia123 ]
Récupérer texte sélectionné dans une iframe éditable [ par shitboypark ]
Bonjour,j'utilise une page avec un éditeur wysiwyg(un iframe en fait) qui marche bien..Pour définir le formatage de mon texte, j'utilise l'instruction
Lecture de fichiers texte en Javascript... [ par Solo ]
Il semble que la lecture de fichiers texte n'est pas possible en JavaScript...Je propose une voie à explorer pour y parvenir...Créer dans la page HTML
smiley dans iframe [ par keisuke ]
Salus a tous,j'ai trouvé sur internet comment introduire du texte dans une iframe et maintenant je voudrais que quand (par exemple),je marque sa: " :)
<iframe> avec Mozilla [ par MCh ]
J'ai un problème avec l'utilisation d'un sous Netscape (and co).Je n'arrive pas à accéder aux fonctions ou aux objets définies dans la page de l'ifra
Iframe [ par benjiman2 ]
Bonjour !Voila, aujourd'hui, je fais face à un autre probleme...En réalité, je n'arrive pas à faire passer du texte dans un calque (div) d'une iframe
wysiwyg - envoi de texte formaté à php [ par WhiteMagus ]
Bonjour (eh oui, c'est déjà le matin).Je me permets de vous écrire suite à un problème survenu lors de la création d'un éditeur wysiwyg. Tout est ok c
CSS dans une iframe [ par le_binr ]
Bonjour,Je suis en train de créer un site internet dynamique avec un petit wysiwyg permettant de mieu gérer le texte pour un novice.Grâce à la command
Editeur WYSIWYG - Ajouter du HTML à l'iframe [ par Tilix ]
Salut, J'ai pris un petit editeur wysiwyg sur internet (Source : http://www.ibilab.net/webdev/exemples/editeur-wysiwyg.htm) Et je voudrais ajouter
Livres en rapport
|
Derniers Blogs
[MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ![MIX 2010] - TELECHARGEZ INTERNET EXPLORER 9 EN PREVIEW ! par redo
La Preview de Windows Explorer 9 est maintenant disponible à l'adresse suivante : http://ie.microsoft.com/testdrive/ Cette version ne nécessite pas un redémarrage de votre machine pour être exploitée . Cette version est fonctionnelle mais reste cependant ...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ![MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ! par redo
Dans la lignée du premier keynote, retrouvez la vidéo du second keynote en ligne : Visionnez la vidéo à l'url suivante : http://www.microsoft.com/presspass/events/mix/VideoGallery.aspx Vous y retrouverez ainsi les speakers Scott Guthrie, Dean Hachamovitch...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|