par
Ryle » 10 juil. 2006, 16:54
La fonction execCommand() insert le code de la commande exécutée à l'emplacement ou sur le texte sélectionné. En lui passant 'InsertImage', comme premier paramètre, cela signifie que c'est le tag d'une image qui va être utilisé.
Le deuxième paramètre correspond à l'interface utilisateur :
- si false il n'y en a pas (ici l'utilisateur doit saisir l'url de son image qui sera passée en 3ème argument).
- si true, le navigateur ouvre une fenêtre permettant de spécifier les différentes informations associées au type de commande executée (et pour une image définir tout un tas de chose, comme la largeur, la hauteur).
Du coup si l'utilisateur ne doit pouvoir saisir que l'url et le alt, il te faux spécifier que tu n'utilises pas l'interface, et créer toi même un formulaire pour récupérer ces valeurs.
A partir de là, tu as le système bidouille consistant à te dire que le 3ème argument correspond à ce qu'il y a dans src="" et donc lui passer une chaine du genre :
(la première et la derniere guillemets étant ajoutées automatiquement par l'execCommand.
Soit au plus propre selon moi, générer dans une chaine le code html dont tu as besoin
Code : Tout sélectionner
var str = '<img src="'+document.fomulaire.champSrc.vlaue+'" alt="'+document.fomulaire.champAlt.vlaue+'">'
Et utiliser la commande pasteHTML() pour coller le code html à l'endroit désiré comme l'aurait fait execCommand()
Tout plein d'infos sur MSDN
http://msdn.microsoft.com/library/defau ... ommand.asp
http://msdn.microsoft.com/library/defau ... teHTML.asp
La fonction execCommand() insert le code de la commande exécutée à l'emplacement ou sur le texte sélectionné. En lui passant 'InsertImage', comme premier paramètre, cela signifie que c'est le tag d'une image qui va être utilisé.
Le deuxième paramètre correspond à l'interface utilisateur :
- si false il n'y en a pas (ici l'utilisateur doit saisir l'url de son image qui sera passée en 3ème argument).
- si true, le navigateur ouvre une fenêtre permettant de spécifier les différentes informations associées au type de commande executée (et pour une image définir tout un tas de chose, comme la largeur, la hauteur).
Du coup si l'utilisateur ne doit pouvoir saisir que l'url et le alt, il te faux spécifier que tu n'utilises pas l'interface, et créer toi même un formulaire pour récupérer ces valeurs.
A partir de là, tu as le système bidouille consistant à te dire que le 3ème argument correspond à ce qu'il y a dans src="" et donc lui passer une chaine du genre : [code]http://.../monImage.gif" alt="mon alt[/code] (la première et la derniere guillemets étant ajoutées automatiquement par l'execCommand.
Soit au plus propre selon moi, générer dans une chaine le code html dont tu as besoin
[code]var str = '<img src="'+document.fomulaire.champSrc.vlaue+'" alt="'+document.fomulaire.champAlt.vlaue+'">'[/code]
Et utiliser la commande pasteHTML() pour coller le code html à l'endroit désiré comme l'aurait fait execCommand() :)
Tout plein d'infos sur MSDN
[url]http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/execcommand.asp[/url]
[url]http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/pasteHTML.asp[/url]