JS Variable mit Zeilenumbruch

DiDiJo

Erfahrenes Mitglied
Hi Leute,

ich nutze in meine mCMS System den FCKeditor und möchte beim Verlassen der Seite heruasfinden, ob sich der Inhalt im Editor verändert hat.

Dazu hab ich mir folgendes ausgedacht:

Code:
window.onbeforeunload = function() {
		
		var c1_db = escape(<?=$row['content']?>);
		var c2_db = escape(<?=$row['zusatz_content']?>);
		var c3_db = escape(<?=$row['zusatz_content2']?>);
		
		var editor1 = FCKeditorAPI.GetInstance("spaw1");
		var editor2 = FCKeditorAPI.GetInstance("zusatz_content");
		var editor3 = FCKeditorAPI.GetInstance("zusatz_content2");
		
		var c1 = escape(editor1.GetXHTML());
		var c2 = escape(editor2.GetXHTML());
		var c3 = escape(editor3.GetXHTML());
		
		
		if (c1_db != c1 || c2_db != c2 || c3_db != c3) {
			return false;
		}
}

Ich hol mir die die Daten aus der Datenbank und vergleiche den Inhalt mit dem jetzigen Inhalt des Editors. Allerdings kriege ich die Variablen c1_db - c3_db nicht vernünftig gefüllt, da in dem Inhalt vom Editor irgendwo Zeilenumbrüche sind. Ich kriege die irgendwie nicht entrwertet und ich wüsste jetzt gerade auch nicht wie ich die Sachen dann mit den c1 bis c3 Variablen vergleichen soll.

vlt hat ja jemand von euch nen Lösungsansatz.
 
mkay ... darauf wäre ich net gekommen ... ich häng zwar jetzt noch an meinem Vergleich aber dat kriege ich denke ich mal selber hin.

Vielen Dank schonmal

mfg

DiDi
 
... also ... ich hab mir gerade mal ne zusätzliche funktion gebastelt,. die mir zumindest 1 Editorfeld ausließt und ausgibt:

Code:
	window.onload = function() {		
		
		var c1_db = escape(unescape('<?php echo rawurlencode($row['content']);?>'));
		var c2_db = escape(unescape('<?php echo rawurlencode($row['zusatz_content']);?>'));
		var c3_db = escape(unescape('<?php echo rawurlencode($row['zusatz_content2']);?>'));
		
		var editor1 = FCKeditorAPI.GetInstance("spaw1");
		var editor2 = FCKeditorAPI.GetInstance("zusatz_content");
		var editor3 = FCKeditorAPI.GetInstance("zusatz_content2");
		
		var c1 = escape(editor1.GetXHTML());
		var c2 = escape(editor2.GetXHTML());
		var c3 = escape(editor3.GetXHTML());
			
		document.getElementById('preview').innerHTML = c1+'<br/><br/><hr/><br/><br/>'+c1_db;

die db Variabeln musste ich nochmal Escapen, da die normalen Variabeln ja auch edcaped wurde und ich sonst keinen Vergleich durchführen könnte.

Nun versuche ich folgenden Quellcode zu vergleichen:
HTML:
<h1>Kontakt</h1>
<p>Hier folgt der Inhalt...</p>

in der c1 Variable steht folgendes:
Code:
%3Ch1%3EKontakt%3C/h1%3E%20%3Cp%3EHier%20folgt%20der%20Inhalt...%3C/p%3E

in c1_db steht:
Code:
%3Ch1%3EKontakt%3C/h1%3E%0D%0A%3Cp%3EHier%20folgt%20der%20Inhalt...%3C/p%3E

nun die Frage an die Profis ... woher kommt der kleine aber feiner Unterschied, der mich gerade fast zur Weisglut treibt :(

mfg

DiDi
 
Zurück