rted: Rich Text Editor

Beitrag lesen

Hallo,

ersteinmal möchte ich mich entschuldigen für die etwas unübersichtliche Postingweise von mir! Das SelfHTML-Forum ist etwas anders als andere Foren!

Nun zum Code! Hier ein Beispiel:

  
<!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>Rich Text Editor</title>  
<script type="text/javascript">  
function run_rte() {  
 var source = "<h1>Demo-Text</h1>Dies ist ein Demotext!<table id=\"table\" border=\"1\"><tr><td>1</td><td>2</td></tr></table><table id=\"table1\" border=\"1\"><tr><td>1.1</td><td>1.2</td></tr></table>";  
  
 if(document.all) { // IE  
  edit.document.body.innerHTML = source;  
 } else { // MF  
  document.getElementById('edit').contentWindow.document.designMode     = 'On';  
  document.getElementById('edit').contentWindow.document.body.innerHTML = source;  
 }  
  
 return;  
}  
function chg_color() {  
  
 // hier der Code zum Wechseln der Farbe  
 document.getElementById('edit').contentWindow.document.getElementById("table").style.backgroundColor = "#FF0000";  
}  
</script>  
</head>  
<body onLoad="run_rte();">  
  
<input type="button" value="Wechsele Tabellenfarbe" onclick="chg_color();" /><br/>  
<script language="JavaScript">  
area =  '<iframe name="edit" class="edit" id="edit" height="300px" '  
  + 'width="500px"></iframe>';  
  document.write(area);  
  if(document.all) { //IE  
   edit.document.designMode = 'On';  
  }  
</script>  
  
</body>  
</html>  

Also beim Klick auf den Button, wird die erste Tabelle gefärbt! Nun der Teil des Codes zum färben der Tabelle steht ja schon, doch nun muss man irgendwie noch die Position im DOM-Baum rausbekommen, um die Id der Tabelle zu erhalten. Dann kann man die Tabelle an der Cursorposition editieren!

Wenn dies in etwa funktioniert könnte man sich dann einem Rechts-Klick-Menü zuwenden.

Warum ich nicht einfach einen fertigen Editor nutze.
Also dies hat drei Gründe:
1.) Ich vertreibe den Editor (und das drumherum teilweise) komerziell und weiß nicht wie das bei diesen OpenSource Editoren ist!
2.) Ich möchte es selber schaffen soetwas zu programmieren (wo ein Wille ist, ist auch ein Weg); außerdem muss der Editor nur wenige Funktionen beherschen.
3.) Ich finde die anderen Editoren nicht so schön (Übersicht)! Außerdem hat mein System gewisse Vorgaben, die an den Editor gestellt werden, denen die "professionellen" Editoren nicht nachkommen können!

Ich hoffe Ihr könnt dies verstehen!

Danke,
rted