Titre: Je suis sur le c***
Posté par: tavman le le 13-06-2005 a 20:16:11
Et non... cette fois-ci, c'est pas une question : juste un partage d'expérience.
Et ouep... là, je suis vraiment surpris donc je partage... Le saviez vous : Javascript contient plusieurs outils très performant pour la créer des codes HTML depuis une IFRAME...
Une petite démo s'impose :
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <TITLE>Document sans nom</TITLE> <SCRIPT language="javascript"> function Innit () { var Contain = document.getElementById("test").contentWindow.document; Contain.open(); Contain.write('<html id=\"frame\"><HEAD></HEAD><BODY></BODY></html>'); Contain.close(); if (document.all) { document.getElementById("test").contentWindow.document.designMode = "On"; frames["test"].document.attachEvent("onkeypress", function evt_ie_keypress(event) { setTimeout("javascript:Result();" , 1); }); } else { document.getElementById("test").contentDocument.designMode = "On"; document.getElementById("test").contentWindow.document.addEventListener("keypress", function Gecko_Key_Press () { setTimeout("javascript:Result();" , 1); }, true); } }
function Result () { document.getElementById('Txt_Result').value = document.getElementById("test").contentWindow.document.body.innerHTML; }
</SCRIPT> </HEAD>
<BODY onLoad="javascript:Innit();"> <IFRAME id="test" style="width:500px; height:300px; border:2px groove #000000; "></IFRAME><BR> <TEXTAREA id="Txt_Result" style="width:500px; height:200px; border:2px groove #000000; "></TEXTAREA> </BODY> </HTML>
|
|
copiez/collez ce code et regardez le dans un navigateur... essayez de taper un texte avec des retours a la ligne et plusieurs espace d'affilée... vous voyez les <br> et les s'afficher dans le résultat ?? et ouep... c'est ca que je voulai vous montrer car je connaissai vraiment pas. Et alors là, biensur, il y a moyen de pousser la chose a l'extrème : mettre du texte en gras, italique, des HR, des images et même des tables...
petite démo de la capacité du truc maintenant (attention les yeux) : http://www.kevinroth.com/rte/demo.htm
ehh ouep... perso, jme demande pourquoi tous les forums n'utilisent pas ce genre de trucs... Mais mise a part ca, je trouve que c'est vraiment un très bon truc (pour faire des pages d'admin par exemple) |
Titre: Re:Je suis sur le c***
Posté par: Web35 le le 13-06-2005 a 21:02:07
| Ca fait des jours que j'essaye de faire ca avec php.... C'est super, merci beaucoup pour le code.... |
Titre: Re:Je suis sur le c***
Posté par: tavman le le 13-06-2005 a 21:14:18
De rien... je partage ce que j'ai découvert en décomposant le code ;)
par contre, du php pour faire ca, tu voit les grands moyens toi... au pire, j'aurai utiliser du Flash parceque je connait les capacités, mais pas du php... lol |
Titre: Re:Je suis sur le c***
Posté par: nyrodev le le 13-06-2005 a 21:38:42
J'avais vu ce procédé pour un snake en JavaScript qui écrivait le score dans un iframe. A savoir qu'on peut faire la même chose avec un popup aussi, et dans la logique, on pourrait aussi faire ca depuis le popup sur la fenêtre qui a ouvert cette popup (window.opener). |
Titre: Re:Je suis sur le c***
Posté par: tavman le le 13-06-2005 a 22:02:29
| En fait, on peut faire ca sur tous ce qui s'appel window en javascript : page normale, IFRAME, popup et peut etre même frameset (a vérifier)... |
Titre: Re:Je suis sur le c***
Posté par: jb_gfx le le 21-06-2005 a 16:23:09
C'est le designmode, celui que tu utilise dans ton exemple est celui de IE. Il en existe aussi un equivalent pour Gecko (Mozilla, FireFox, Netscape...).
C'est la technique utilisé par tous les editeur wysiwyg en ligne.
Opera n'as pas de design mode.
http://www.ibilab.net
A des tutoriaux sympas sur le sujet (la partie webdev ayant l'air offline, il faudra revenir un peu plus tard) |
Titre: Re:Je suis sur le c***
Posté par: tavman le le 21-06-2005 a 22:21:07
En effet... Je savait que ca marchai sur moteur Gecko (j'ai testé sous firefox) et sous IE, mais j'avais pas encore testé sous Opéra...
Très franchement, je comptai bien faire une détection du paramètre designMode avant de faire quoi que ce soit avec ce script... Bon bahh en tout cas, c'est là que je me dit "Opéra, c'est vraiment dla ch***** parceque pour que ce soit adapter sur IE et firefox, ca doit exister depuis déjà pas mal de temps... Alors qu'Opéra est (à la base) payant (ou alors avec des pubs)... M'enfin bon... |
Titre: Re:Je suis sur le c***
Posté par: jb_gfx le le 22-06-2005 a 02:17:37
Faut pas être comme ça, Opera à bien d'autre avantages. :)
Ce que tu peux faire c'est avoir une textarea classique, puis dans ton script, si un des deux designmode est accessible tu remplace la textarea par une iframe en designmode (ou autre balise de ton choix) au chargement de la page. Comme tout le monde pourra entrer des données (même ceux qui n'ont pas javascript, ou autres navigateurs comme Safari, Opera...).
|
Titre: Re:Je suis sur le c***
Posté par: Ellenak le le 23-06-2005 a 15:00:51
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|