Hallo Michael
Ich bin daran, ein kleines webadmin zu basteln in dem man den Code so ala WYSIWYG eingeben kann. Microsoft bietet da so bequeme Methoden an, die via JavaScript ausführbar sind. document.execCommand("bold") und voila... sehr undurchschaubar. Keine Ahnung wie das funktioniert!
Irgendwie ist mir das ein wenig zu billig. Ist das nicht etwas sehr "Microsoft-eigenes"? Gibt es da noch andere Möglichkeiten damit dies auch auf Netscape und Opera funktioniert?
Ja, es ist etwas Mircosoft-Eigenes und ich wäre wirklich glücklich, wenn Opera und Netscape etwas vergleichbares hätten.
Einen Überblick über die Grundlagen der Technologie findest du hier http://msdn.microsoft.com/library/en-us/dnhtmau/html/leverageediting.asp. Das Entscheidene ist dabei, dass die Möglichkeit besteht, die Position des Cursors, ziemlich genau zu überwachen, dass vorallem mit Copy-Paste gearbeitet werden kann und dass ein vollständiger Zugriff auf markierte Inhalte besteht. Je nach verwendeten Browser - es geht ab Version 4 - können beispielsweise komplett formatierte Texte aus Word, Excel oder von Webseiten übernommen werden. Ebenso können Texte ganz normal geschrieben werden. Ein Enter erzeugt einen Absatz und Shift-Enter einen Zeilenumbruch.
Die Editor-Komponente des IE kann mit mehreren Sprache angesprochen werden. Bei uns in der Firma existiert eine Editor-Entwicklung, die ausschließlich mit JScript läuft und solche Funktionalitäten bietet, wie Editierung von Tabellen, Einbindung von Flashinhalten, Textbausteine, Verarbeitung von beliebigen externen CSS-Dateien (der Redakteur kriegt eine gruppierte Klassenliste angezeigt und kann die gewünschte Klasse auswählen und zuweisen), Generierung einer Liste der eingebundenen URLs und Grafiken und selbstverständlich ein Modul, dass interne Links und Grafiken per Auswahlliste anbietet, Popup und Rollovers ermöglicht.
Sehr oft wird auch ein selectives Speichern gewünscht. Das bedeutet, in bestimmten Bereichen können nur Inhalte in einem bestimmten Format gespeichert werden. Diese werden gegebenenfalls vor dem Speichern umgewandelt. Aber das ist alles reine JS-Funktionalität, die meist sehr rasch hinzugefügt werden kann.
In Mozilla könnte man tatsächlich alle Funktionalitäten abbilden, da hier lediglich Eigenschaften des DOM genutzt werden. Tatsächlich habe ich auch schon eine solche Implementation gesehen. Die war grausam langsam und bot kein Copy-Paste-Feature. Mozilla fehlt lediglich die Möglichkeit Content editable zu gestalten. Netscape 4 kannte allerdings einen Ansatz diesbezüglich.
Fazit:
möchtest du lediglich solche einfachen Dinge wie fett, kursiv und unterstrichen anbieten, ist es sinnvoller zu sagen wie es geht
möchtest du eine echte WYSIWYG-Componente bauen, dann vergiß alles, was nicht IE heißt.
Viele Grüße
Antje