Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2010, 21h58   #1
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 116
Points : 33
Points : 33
Envoyer un message via MSN à spy74
Par défaut DOM & soft : WYSIWYG

bonjour,

j'essaye de faire un éditeur WYSIWYG.
Pour cela je m'aide de http://www.mozilla.org/editor/midas-spec.html et jquery 1.4.3

Et donc j'ai deux problèmes.
1- Le problème est lier à la création de l'iframe lier à jquery une erreur bizard que je trouve dans firebug & la console de chrome.


Cependant cette erreur n'influence apparemment pas sur l'exécution du script et l'affichage de l'iframe se déroule comme prévue ... donc ce problème n'est pas trop grave mais si quelqu'un a une idée c'est toujours mieux de partir sur un truc pas trop bancale :p

Voici le code:
Code :
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
 
(function($) {
 
	$.fn.tagName = function() {//fonction de rajout a jquery.
	      return this.get(0).tagName.toLowerCase();
	}
 
	$.fn.lemonEditor = function() {
 
		var gEditor = this;
		var tagName = $(gEditor).tagName();
		if(tagName!="div"){
			$.YRnote({type:'err',msg:"l'obj <b>"+$(this).attr("id")+"</b> n'est pas une div."});
		}else{
			var docId = "edit"
			var doc = $("<iframe>",{
				id:docId
			})
			gEditor.addClass("E_lemontEditor");
			gEditor.html(doc); //Pose problème
			document.getElementById(docId).contentWindow.document.designMode = "on";
			try {
			    document.getElementById(docId).contentWindow.document.execCommand("undo", false, null);
			  }  catch (e) {
			    alert("Editeur non suporter par le navigateur");
			}
		}
 
		return this; //fuilditer
	}
 
})(jQuery);
Voici l'erreur:
Code :
1
2
3
4
 
Uncaught TypeError: Cannot read property '2' of null
jQuery.jQuery.extend.ready                             jquery.js:437
jQuery.DOMContentLoaded                              jquery.js:868
2- second problème (le plus grave d'ailleur) ce script s'exécute correctement sur tous les navigateurs, c'est a dire qu'il est possible d'éditer dans l'iframe; sauf sur firefox -_-

merci d’avance pour votre aide
spy74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 22h20   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Je n'ai aucun moyen de tester, mais il y a quelques fautes :

Code :
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
35
36
37
38
39
40
41
(function($) {
	
	$.fn.tagName = function() {//fonction de rajout a jquery.
	      return this.get(0).tagName.toLowerCase();
	}; // manque ;
	
	$.fn.lemonEditor = function() {
		var gEditor = this;
		var tagName = $(gEditor).tagName();
		
		if (tagName!="div"){
			$.YRnote({type:'err',msg:"l'obj <b>"+ gEditor.id +"</b> n'est pas une div."}); // en bleu une simplification
		} else {
			
			// manque ;
			var docId = "edit";
			
			// <iframe/> !!! et manque ;
			/*
			var doc = $("<iframe/>",{
				id:docId
			});
			*/
			
			gEditor.addClass("E_lemontEditor");
			
			// vu le peu de choses à insérer il est plus performant de faire
			gEditor.html('<iframe id="docId"/>');
			
			document.getElementById(docId).contentWindow.document.designMode = "on";
			
			try {
			    document.getElementById(docId).contentWindow.document.execCommand("undo", false, null);
			  }  catch (e) {
			    alert("Editeur non suporter par le navigateur");
			}
		}
		
		return gEditor; //fuilditer
	}; // manque ;
})(jQuery);
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2010, 22h25   #3
Nouveau Membre du Club
 
Inscription : juin 2008
Messages : 116
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 116
Points : 33
Points : 33
Envoyer un message via MSN à spy74
héhé merci beaucoup ma première erreur est partie !
reste plus que le problème avec Firefox.
spy74 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h11.


 
 
 
 
Partenaires

Hébergement Web