picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017
-
9 déc. 2008 à 18:26
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 2015
-
15 déc. 2008 à 17:54
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 décidé d'utiliser un div éditable. pour la zone de texte éditable.
Voici mon problème :
Je voudrai pourvoir récupérer la sélection faite dans le div. Par exemple si un utilisateur tape un texte puis le sélectionne avant de cliquer sur "mettre en gras".
Pour cela, je souhaiterai récupérer la longueur de texte, le début de ma sélection et la fin de ma selection.
j'ai fait la manip suivante:
var textarea = document.getElementById("texte"); //ca fonctionne
var selLength = textarea.innerHTML.length; //la longueur de texte dans mon div
alert(selLength);//Affiche bien la longueur de texte dans le d
iv
var selStart = textarea.innerHTML.selectionStart;//Je veu la position du début de ma selection
alert(selStart);//Affiche undefined
var selEnd = textarea.innerHTML.selectionEnd; //Je veu la position de fin de ma selection
alert(selEnd);//Affiche undefined
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 15 déc. 2008 à 13:28
>>Par contre, l'image s'affiche a 100%..
ah ben oui...
>>.et elle n'a pas d'attribut id ni
name,
c'est sûr
>>je me demande comment la redimensionner en javascript.
rien n'empêche d'intervenir dans l'iframe ( avec le DOM )
en javascript... ce n'est plus un souci "wysiwyg"
je dirais même qu' "il ne faudrait pas"
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 10 déc. 2008 à 10:42
bonjour,
>>je m'intéresse seulement à firefox, je verrai plus tard pour IE.
>>J'ai décidé d'utiliser un div éditable.
t'as pas de bol, je crois qu'un div contenteditable est exclusif IE
il faut utiliser un iframe pour FF ( ça marchera aussi avec IE )
et pour le selectionStart ou End, 1° c'est sur l'élément ( textarea.selectionStart )
( pas sûr d'ailleurs pour un textarea qu'il faille utiliser innerHTML,
.value est peut-être plus indiqué )
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 12 déc. 2008 à 14:40
Désolé pour le temps de réponse mais j'ai été pas mal occupé!
merci pour ta réponse, bul3, ça m'a beaucoup aidé.
J'ai une question encore, j'utilise désormais une iframe dans laquelle je fais des modification grâce à execCommand().
Cela fonctionne bien sauf pour l'insertion d"image. je peut insérer une image mais la source ne semble pas être correcte. On ne peut pas voir l'image dans l'iframe, on a juste un cadre sans images dedans...
Je me dit que c'est du au fait que l'iframe n'a pas de src et donc l'adresse de l'image ne fonctionne pas. J'ai donc mis une source a mon iframe, et j'ai mis une image dans la source, et la ça fonctionne.
Ma question : puis-je insérer mon image dans mon iframe sans mettre de source a mon iframe?
Comme dans la plupart des éditeur que j'ai pu voir
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 12 déc. 2008 à 15:00
le src de l'iframe serait l'url d'une page html à charger....
ça n'a rien à voir avec le src d'une image, contenue ou pas dans cet iframe
si tu regardes dans mon exemple, j'ai mis ( en commentaires ) :
réservé à Internet Explorer ?
pas réussi à faire fonctionner avec Mozilla, par exemple
et, là, par hasard, il y a cette "gestion" d'images !
je ne dis pas que ça ne fonctionne pas : sous IE aucun souci,
mais je n'ai pas réussi à faire avec FF,
sûrement parce je t'avoue n'avoir pas creusé outre mesure à l'époque...
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 12 déc. 2008 à 16:22
Dsl pour la confusion entre les src,
Je reprend,
J'ai fait un test en mettant une page dans le src de l'iframe, et cette page contenait une image (avec un src elle aussi lol).
Dans cette configuration, l'image est visible dans l'iframe, mais la commande execCommand('insertimage',false,'imagePath'); ne donne rien.
Deuxième configuration : mon iframe n'a pas d'attribut src et j'essaye de lui inserer un image avec execCommand('insertimage',false,'imagePath');
Cette fois ci, un cadre s'affiche dans mon iframe, mais ne contient pas mon image, pourtant j'ai vérifié dans le code source, l'adresse de l'image est la bonne.
Je me demande donc si le fait que mon iframe ne possede pas de src, peut l'empecher de trouver mon image...!
voila donc si quelqun voit ce que je veut faire, qu'il m'aide !
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 12 déc. 2008 à 16:39
à mon avis, ça vient plutôt de l'excecCommand pour une image avec FF
tel qu'on le fait ( mauvais paramètres.. ou autres )
tu peux essayer avec un iframe qui a un src.
[mon Site] [M'écrire] Bul
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 12 déc. 2008 à 23:02
Merci encore pour tes réponses rapides, (pas comme moi lol).
D'après ce site, ça devrai marcher
http://www.quirksmode.org/dom/execCommand.html Enfin tout du moins pour firefox 2 je ne sais pas pour le 3..
Quelle galère tout de même ces incompatibilitées, c'est pas la joie.
Bul3
Messages postés4933Date d'inscriptionsamedi 1 juillet 2006StatutMembreDernière intervention 2 février 201516 15 déc. 2008 à 12:09
>>Quelle galère tout de même ces incompatibilitées, c'est pas la joie.
hélas, 3 fois hélas
mais c'est vrai pour tous les langages en fait !
>>D'après ce site, ça devrai marcher
il faut regarder "de près" les paramètres de l'ExecCommand pour une image donné par ce site
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 15 déc. 2008 à 13:15
sa y est , ça a fini par fonctionner, j'ai donc placé un src dans mon iframe et dans mon execCommand, le 3eme paramètre qui doit contenir le chemin, j'ai mis le lien relatif en partant du fichier source de mon iframe, c assez clair? lol.
Par contre, l'image s'affiche a 100%...et elle n'a pasd'attribut id ni name, je me demande comment la redimenssioner en javascript.
Merci beaucoup en tout cas
picolo220
Messages postés18Date d'inscriptiondimanche 19 février 2006StatutMembreDernière intervention 8 avril 2017 15 déc. 2008 à 15:15
Merci beaucoup pour ton aide bul3, j'ai tout ce qu'il me fallait.
Pour la taille de l'image, un petit getElementByTagName("img") et le tour était joué!
Salut