Home
Navigation
Impressum
SEO Welten - Webcoding, Editoren, Scripte und Anwendungen
SEO Welten
Buchempfehlungen
 

Wysiwyg-Editor: Vorschau des Quelltextes in einer Textarea

Kleines Tutorial: Wysiwyg-Editor / Inhalt verarbeiten

Übersicht / Seite:

  1. Wysiwyg-Editor (Ein kleines Tutorial, Einleitung)
  2. Erster Beispiel (mit einem Listing für einen kleinen Wysiwyg-Editor)
  3. Auswahllisten (für Schriftfamilie, Schriftgröße, Schriftfarbe und H...)
  4. Einfügen von Hyperlinks (und Einfügen von Listen)
  5. Einfügen von Fotos (und sonstigen Grafiken)
  6. Inhalt verarbeiten (Quelltext ausgeben oder senden und speichern)
  7. Fertiger Editor (Ansicht, Funktionen und Hinweise zum Download)
  8. HTML speichern (Beispiel-Listing zum Speichern von Hypertext)
  9. Farbpalette (nur als Demo oder zum Einbinden in Webseiten)

Fünftes Listing, Inhalte verarbeiten, senden und speichern

Ein Editor nutzt nicht viel, wenn sich die bearbeiteten Inhalte sich nicht abspeichern lassen. Da die Abspeicherung bei einem Online-Editor nur serverseitig erfolgen kann, JavaScript hingegen eine clientseitige Scriptsprache ist, muss zur Speicherung eine serverseitige Scriptsprache verwendet werden. Es braucht nicht unbedingt PHP verwendet werden, andere serverseitige Script- und Programmiersprachen erfüllen ebenfalls ihren Zweck, doch da PHP zu den verbreitetsten serverseitigen Programmiersprachen gehört, wurde PHP auch für das nachfolgende Beispiel verwendet.

Nun ist ein Wysiwyg recht praktisch für die Gestaltung von Webdokumenten, besser ist hingegen ein Editor, der zumindest zusätzlich noch eine Ansicht des Quelltextes erlaubt. Diese zusätzliche Funktion zur Ansicht des Quelltextes wurde im Listing auf dieser Seite berücksichtigt.

Vorschau des Quelltextes in Textarea
Vorschau des Quelltextes in einer Textarea

Bei der Überprüfung des Quelltextes werden gut die Unterschiede zwischen den Browsern ersichtlich. Die letzten Tests wurden mit dem Firefox 11.0 und dem Internet Explorer 9.0 durchgeführt, wobei der FF die Eingaben mehr mit Hilfe von Stylesheets verarbeitet, der IE hingegen mehr mit Hilfe von HTML- Elementen.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
<title>Zweiter kleiner Wysiwyg-Editor</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">

<style type="text/css">
body {background-color: #F1EDDA}
.forme {width: 544px; text-align: center;
 margin-top: 30px; margin-left: auto; margin-right: auto}

.fette {font-weight: bold}
.under {text-decoration: underline}
.schrg {font-style: italic}

a:link    {text-decoration: none; color: #6F3B2B}
a:visited {text-decoration: none; color: #6F3B2B}
a:hover   {text-decoration: none; color: #004080}
a:active  {text-decoration: none; color: #004080}
</style>

<script type="text/javascript">

var derFrame, meinWert;

function schalteEIN(){

derFrame = document.getElementById("meinEditor").contentWindow.document;
meinWert = derFrame;

derFrame.designMode = "On";
}

function Schriftfett(){meinWert.execCommand("bold",       false, null);
}
function Schriftuntr(){meinWert.execCommand("underline",  false, null);
}
function Schriftschr(){meinWert.execCommand("italic",     false, null);
}

/* Vorschau in Textarea */


function vorSCHAU() {

var
imFrame = derFrame.body.innerHTML;

document.getElementsByTagName('textarea')[0].value = imFrame;
}
</script>
</head>

<body onload="schalteEIN()">
<div class="forme">


<input type="button" onclick="Schriftfett()" value=" b " class="fette">
<input type="button" onclick="Schriftuntr()" value=" u " class="under">
<input type="button" onclick="Schriftschr()" value=" i " class="schrg">

<br>

<iframe id="meinEditor" src="datei.html" width="520" height="220">
</iframe>

</div><div class="forme">

<textarea name="beliebig" cols="62" rows="10"></textarea><br>
<a href="javascript:vorSCHAU()">» Quelltext «</a>

</div>
</body>
</html>

Um den Inhalt des iFrames zu speichern oder in einer ergänzenden Anwendung weiter zu verarbeiten, kann der Inhalt per Post versendet werden. Nachfolgen ein Beispiel, bei dem lediglich das Listing auf dieser Seite noch um ein kleines Formular unterhalb der ersten Textarea ergänzt wurde. Voraussetzung ist in diesem Beispiel jedoch, dass der kleine Wysiwyg-Editor als PHP-Datei (editor.php) abgespeichert wird und PHP zur Verfügung steht. Eine Weiterverarbeitung mit JavaScript oder Ajax dürfte in vielen Fällen anstrebenswerter sein, nur für die Speicherung ist eine serverseitige Scriptsprache erforderlich, doch als Beispiel sollte es genügen.

<form action="editor.php" method="post"
onsubmit="escape(this.elements.quelle.value=derFrame.body.innerHTML)">

<input type="hidden" name="quelle" value="">
<textarea name="sprudel" cols="62" rows="10">
<?php

  if (isset($_POST["quelle"]) and !empty($_POST["quelle"])){
  echo $_POST["quelle"];
  }
?></textarea><br>
<input type="submit" value="» Sende Quelltext «">
</form>

Für den Versand allein ist hingegen PHP nicht erforderlich, da ein minimales Formular zum Versenden ausreicht. Der Event-Handler onSubmit ruft beim Absenden des Formulars den Wert des Input-Elementes mit dem Namen "quelle" ab, wobei diesem Element der Inhalt von derFrame.body.innerHTML als Wert zugewiesen wird.

<form action="editor.php" method="post"
onsubmit="escape(this.elements.quelle.value=derFrame.body.innerHTML)">
<input type="hidden" name="quelle" value="">
<input type="submit" value="» Sende Quelltext «">
</form>

Wichtiger Hinweis: Das Beispiel auf dieser Seite ist nur als Demo gedacht. Die Versendung, der Empfang, die Weiterverarbeitung oder die Speicherung sollten bei einem frei zugänglichen Formular niemals unkontrolliert erfolgen, um einer Einschleusung von Schadcode vorzubeugen!

Hierzu auf den nächsten Seiten mehr.

weiterlesen » Ein fertiger Editor | Beispiel Speicherung

 
Navigation

Finden und
gefunden werden ...


- Optimierung -

 

Webcoding

Übersicht


Web Services


Tutorials &
diverse Listings

und vieles mehr...


Copyright © 2006 - Verlag Horst Müller - Stendal | Datenschutz | Nutzungsbedingungen