← Gesamte Dokumentation

Schnellstart

Beginnen Sie mit einem einzigen Editor auf einer Seite und der Standard-Symbolleiste. Bringen Sie zuerst Tippen und Formatieren zum Laufen; Uploads, KI und Zusammenarbeit kommen später. Wrapper für bestimmte Frameworks (React, Vue, Angular, Svelte, Blazor, ASP.NET, PHP) finden Sie unter Download.

Welche Einrichtung brauchen Sie?

Erfolgreich sind Sie, wenn Sie Text tippen, auswählen und fett formatieren können. Das HTML zu lesen ist der nächste Schritt; es dauerhaft zu speichern, erfordert das Backend Ihrer Anwendung.

Schon versucht und nicht weitergekommen? Sehen Sie sich unten die Probleme bei der Einrichtung an.

Probleme beim Tippen oder bei der Auswahl in React? Folgen Sie der Checkliste zur Diagnose von Cursorsprüngen und wählen Sie ein Muster für den Editor-State.

1. Den Editor beziehen

Drei Wege. Das CDN braucht überhaupt keine Installation und ist der schnellste Weg, den Editor laufen zu sehen; die anderen beiden verwenden Produktivumgebungen.

Option A – Das lizenzierte Bundle herunterladen

Rufen Sie /download auf und laden Sie das Bundle für Ihr Framework herunter. Entpacken Sie es in Ihre Website, sodass der Editor unter /richtexteditor/ liegt:

your-site/
├── richtexteditor/
│   ├── rte.js                       ← protected production build (~410 KB)
│   ├── rte_theme_default.css
│   ├── plugins/
│   │   ├── all_plugins.js           ← AI Toolkit, comments, slash, mentions, etc.
│   │   ├── aitoolkit.css
│   │   ├── crdt-engine.min.js       ← Per-node Yjs CRDT (load only if you use collab)
│   │   └── ...
│   └── lang/                        ← optional translations
└── your-page.html

Option B – npm (empfohlen)

npm install @richscripts/richtexteditor

# or scaffold a complete working example app:
npm create @richscripts/richtexteditor my-app -- --react   # also: --vue, --angular, --svelte

Importieren Sie dann Styles + Bundle in Ihrer Build-Pipeline:

// Side-effect import attaches `RichTextEditor` to `window`.
import "@richscripts/richtexteditor/richtexteditor/rte.js";
import "@richscripts/richtexteditor/richtexteditor/plugins/all_plugins.js";

// Or via the typed React wrapper (Vue / Angular wrappers shipped too):
import { RichTextEditorComponent } from "@richscripts/richtexteditor/react";

Option C – CDN, nichts zu installieren

jsDelivr und unpkg spiegeln beide das veröffentlichte npm-Paket, sodass ein funktionierender Editor aus zwei Tags in einer leeren HTML-Datei besteht – kein Download, kein Build-Schritt, kein Konto. Fügen Sie das in einen CodePen ein, und es läuft:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@richscripts/richtexteditor@2.16.0/richtexteditor/rte_theme_default.min.css" />
<script src="https://cdn.jsdelivr.net/npm/@richscripts/richtexteditor@2.16.0/richtexteditor/rte.js"></script>

<div id="div_editor1">Hello RichTextEditor</div>
<script>
  var editor1 = new RichTextEditor("#div_editor1");
</script>

Damit haben Sie den Kern-Editor und seine Symbolleiste. Ein weiteres Tag bringt den vollständigen Plugin-Satz – AI Toolkit, Kommentare, Slash-Befehle, Erwähnungen, Layouttabellen und den Rest:

<script src="https://cdn.jsdelivr.net/npm/@richscripts/richtexteditor@2.16.0/richtexteditor/plugins/all_plugins.min.js"></script>

Eine optionale Zeile. Die Bearbeitungsfläche fordert ihr Inhalts-Stylesheet unter /richtexteditor/runtime/richtexteditor_content.css auf Ihrem Origin an, das eine reine CDN-Seite nicht hat, daher sehen Sie im Netzwerkbereich ein 404. Nichts geht kaputt – der Editor bringt dieselben Standardwerte inline mit, und die Fläche ist so oder so gestaltet –, aber Sie können ihn auf die Kopie im CDN verweisen, und der Request verschwindet:

var editor1 = new RichTextEditor("#div_editor1", {
  contentCssUrl: "https://cdn.jsdelivr.net/npm/@richscripts/richtexteditor@2.16.0/richtexteditor/runtime/richtexteditor_content.css"
});

Legen Sie die Version fest. Jeder Pfad oben nennt absichtlich @2.16.0: Eine festgelegte URL ist unveränderlich und wird ein Jahr lang gecacht, sodass sich Ihre Seite nicht unter Ihnen ändern kann. @2 verweist auf das neueste Release 2.x, was bei der Evaluierung nützlich und in der Produktion unklug ist. Ersetzen Sie den Host durch https://unpkg.com/, und dieselben Pfade funktionieren dort.

Oder von unserer Domain ausliefern. Dieselben Dateien sind unter cdn.richtexteditor.com veröffentlicht – Byte für Byte der Build, den diese Website selbst verwendet, am Edge von Cloudflare gecacht, ohne Dritte zwischen Ihnen und uns:

<link rel="stylesheet" href="https://cdn.richtexteditor.com/richtexteditor/rte_theme_default.min.css" />
<script src="https://cdn.richtexteditor.com/richtexteditor/rte.js"></script>
<script src="https://cdn.richtexteditor.com/richtexteditor/plugins/all_plugins.min.js"></script>

Der Kompromiss betrifft das Festlegen der Version, und zwar in umgekehrter Richtung. Diese Pfade enthalten keine Version, liefern also immer das aktuelle Release aus, und Sie können eine Seite nicht auf einer älteren halten; Browser werden angewiesen, alle vier Stunden neu zu prüfen. Die jsDelivr-URLs oben sind pro Version unveränderlich, und das wollen Sie für einen Build, den Sie in Monaten noch reproduzieren müssen. Verwenden Sie cdn.richtexteditor.com, wenn Sie Ihrer Seite keinen Dritten hinzufügen möchten, und die festgelegten jsDelivr-URLs, wenn die Version fest sein muss.

Zwei Dinge sollten Sie vor dem Livegang wissen. Das CDN ist ein Dritter, der Ihre Seite beliefert – praktisch für Tests, Prototypen und Fehlerberichte, aber nur die selbst gehosteten Wege oben halten den Editor vollständig in Ihrer eigenen Infrastruktur, und genau darum geht es bei einer unbefristeten Lizenz. Und ein CDN ändert, wie die Dateien den Browser erreichen, nicht, was Sie laut Lizenz damit tun dürfen; siehe /license.

2. Das Skript einbinden und den ersten Editor erstellen

<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css" />
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/all_plugins.js"></script>

<div id="div_editor1">Hello RichTextEditor</div>
<script>
    var editor = new RichTextEditor("#div_editor1");
</script>

Das ist ein funktionierender Editor mit der Standard-Symbolleiste. Öffnen Sie ihn in einem Browser und beginnen Sie zu tippen.

3. Die Symbolleiste anpassen

Übergeben Sie als zweites Argument ein Konfigurationsobjekt:

var editor = new RichTextEditor("#div_editor1", {
    toolbar:    "basic",      // "basic" | "full" | "mobile" | "custom"
    height:     "500px",
    showStatistics:  true,    // word / character count in the bottom bar
    showFloatTextToolBar: true
});

Für eine eigene Symbolleiste mit expliziten Gruppen:

var editor = new RichTextEditor("#div_editor1", {
    toolbar: "custom",
    toolbar_custom:
        "{bold,italic,underline}|" +
        "{insertorderedlist,insertunorderedlist}|" +
        "{insertlink,insertimage}|" +
        "{aiassist,aichat}|" +
        "{undo,redo}"
});

Jeden Befehlsnamen finden Sie in der Referenz der Symbolleisten- & Menüeinträge.

4. Inhalt lesen und schreiben

// Get the current HTML
var html = editor.getHTMLCode();

// Replace the editor's content
editor.setHTMLCode("<p>New content</p>");

// Get plain text (no markup)
var text = editor.getPlainText();

// Get a structured-content JSON document (lossless round-trip with setJSON())
var json = editor.getJSON();
editor.setJSON(json);

5. Inhalt mit einem Formular senden

Sitzt Ihr Editor in einem <form>, schreibt RichTextEditor das HTML des Editors automatisch in ein verstecktes Feld, das der Container-ID des Editors entspricht. Auf dem Server lesen Sie es wie jedes andere Formularfeld aus dem Request. Für dynamisches Absenden rufen Sie editor.getHTMLCode() in Ihrem Submit-Handler auf:

document.getElementById("save").addEventListener("click", function () {
    fetch("/api/save", {
        method:  "POST",
        headers: { "Content-Type": "application/json" },
        body:    JSON.stringify({ html: editor.getHTMLCode() })
    });
});

Probleme beim Einstieg?

npm wird nicht erkannt
Installieren Sie Node.js mit npm, öffnen Sie Ihr Terminal neu und prüfen Sie node --version und npm --version. Meldet die Installation eine nicht unterstützte Engine, verwenden Sie eine Node-Version, die die Abhängigkeiten Ihres Starters unterstützen.
Das Beispiel startet nicht
Führen Sie die Befehle in dem Ordner aus, der package.json enthält, nachdem npm install abgeschlossen ist. Der React-Starter verwendet npm run dev, der Angular-Starter npm start. Öffnen Sie die URL, die im Terminal ausgegeben wird.
Der Editor ist leer oder RichTextEditor ist nicht definiert
Suchen Sie in der Konsole des Browsers nach dem ersten Fehler und im Netzwerkbereich nach fehlgeschlagenen Skript-Requests. Vergewissern Sie sich, dass die Runtime-URL JavaScript lädt und kein 404 oder eine HTML-Ersatzseite. In einfachem HTML laden Sie die Runtime, bevor Sie den Editor erstellen, und nachdem sein Container existiert.
Die Symbolleiste sieht ungestaltet aus
Prüfen Sie, ob das Theme-Stylesheet des Editors erfolgreich geladen wird. Verwenden Sie Stylesheet und Skripte aus derselben Editor-Version.
Mein Inhalt verschwindet nach einem Neuladen
Das HTML zu lesen speichert es nicht in einer Datenbank. Die URL /api/save oben ist ein Beispiel-Endpoint, den Sie selbst implementieren müssen; prüfen Sie seine Antwort und laden Sie das gespeicherte HTML, wenn Sie den Editor wieder öffnen.

Wenden Sie sich an den Support und nennen Sie die Versionen von Framework und Editor, den fehlgeschlagenen Befehl oder die Aktion, die erste Fehlermeldung und ein kleines reproduzierbares Beispiel. Entfernen Sie vorher API-Schlüssel, Passwörter und private Dokumentinhalte.

6. Den nächsten Schritt wählen

KI hinzufügen

AI Toolkit

Ask AI aus der Symbolleiste, das Panel AI Chat andocken, Vorschläge in der Seitenleiste AI Review sammeln. Mit einer Zeile DI auf dem Server an OpenAI / Anthropic / Azure anbinden oder einen clientseitigen Callback setResolver() übergeben.

Zusammenarbeit in Echtzeit hinzufügen

Yjs-CRDT pro Knoten

Gleichzeitiges Tippen im selben Absatz ohne Konflikte beim Zusammenführen. Übergeben Sie textSync: "crdt" an editor.collab.attach(), mit einem beliebigen selbst gehosteten Yjs-Provider.

Alles anpassen

Konfigurationsreferenz

Jede Konfigurationsoption, jeder Platz in der Symbolleiste, jeder Ereignisname auf einer durchsuchbaren Seite. Die Standardwerte stehen oben in rte.js und sind absichtlich bearbeitbar, damit Sie nichts neu bauen müssen.

Ihr Backend anbinden

Framework-Wrapper

Native Bindings für React, Vue, Angular, Svelte, Blazor Server, ASP.NET Core, ASP.NET Web Forms, Classic ASP und PHP. Derselbe Editor, mit einer idiomatischen Schnittstelle im Stack Ihrer Wahl.

Standardwerte ohne Neubau anpassen

Der Anfang von rte.js ist bearbeitbares, reines JavaScript

Jedes Bundle rte.js hat oben einen Block RTE_DefaultConfig in reinem JavaScript, gefolgt vom lizenzierten Editor-Code. Öffnen Sie rte.js in einem beliebigen Texteditor und ändern Sie Werte wie RTE_DefaultConfig.skin, die Standard-toolbar, Sprachvorgaben, Upload-URLs usw. – diese Einstellungen sind absichtlich bearbeitbar, damit Sie das Verhalten für die gesamte Website anpassen können, ohne eine Build-Pipeline erneut auszuführen.