Bonjour a tous

j'ai trouver un moyen pour l'insertion de mes images dans mon wysiwyg d'eviter le fakepath sur certaines config IE et chrome
cela consiste a utiliser execCommand("insertimage",null,null) les deux argument a null permetant d'ouvrir une petite boite de dialogue avec le bouton parcourir

cependant si il n'y a pas de selection active ca ne marche pas , j'ai pour cela creer une range sur la base de la selection vide ca c'est ok dans la fonction
ce que je voudrais au cas ou il y aurait l'utilisateur qui pique une crise du syndrome de la tourette et donc selectionne du texte que cette selection se reduise a rien du tout mais reste a l'endroit ou elle est c'est a dire si il il a le texte

bonjour regardez cette image elle est tellement belle


et que je selectionne "image" je voudrais que la selection soit devant image avant de lancer execCommand

pour ceux que ca interesse

Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
//////////////////////////////////////////////////////////SOLUTION 1////////////////////////////////////////////////////////////
function insertimg1(add){
   var selection =window.getSelection().getRangeAt(0)
   var baliseimg = document.createElement("img");
   baliseimg.src=add;
   baliseimg.width=300
   selection.insertNode(baliseimg);
}
//appel de la fonction avec bouton et!!! un input type file caché nommé 'fichier"://
//dans le bouton 
fichier.click();
insertimg1(fichier.value);
// IMPORTANT !!!! reste que selon certaines configs on se retrouve avec un FAKEPATH!!!!! dans le SRC de l'image 
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 
///////////////////////////////////////////////////////////SOLUTION 2////////////////////////////////////////////////////////////
function insertimg2(argmt,b,url){
   if (url==="undefined"){url=null;;b=null;}
   // il est important de determiner la selection (meme vide) sinon l'insertion se fait sur tout le document et remplace tout 
   var selection = window.getSelection().getRangeAt(0);
   window.getSelection().addRange(selection);             
   //l'avantage de execCommand c'est qu'il ouvre sa propre petite fenetre avec un bouton "parcourir" 
   //possibilité de regler dans cette fenetre l'alignement et le hspaces le src a  l'url du fichier local tel quel
   document.execCommand("insertimage",b,url);  
}
//appel de la fonction avec un bouton //
//dans le bouton
//si on connais l'url exemple 
insertimg2("insertimage",false,"C:\dossier\mon_image.jpg");
//si on veut la boite de dialog pour choisir
insertimg(,"null","null");
 
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////