Rechtschreibprüfung
Aktiviert die browsereigene Rechtschreibprüfung im Bearbeitungsbereich und stellt Ihnen einen Rechtschreibprüfungsbefehl zur Verfügung, mit dem Sie ein Überprüfungsfenster öffnen können, das von Ihrem eigenen Rechtschreibdienst gespeist wird. Der Editor liefert keine Wörterbücher mit: Ohne einen Dienst erfolgt die Überprüfung auf das, was der Browser und das Betriebssystem des Benutzers in den von ihm installierten Sprachen bereitstellen.


Schalten Sie es ein
Die Funktion ist diespellcheck.jsPlugin (auch inplugins/all_plugins.js). Der Knopf istspellcheck ( "Spell Check"). Es ist in derfullSymbolleiste und in der"more"Panel der Standardsymbolleiste, und im Slash-Menü wird es als aufgeführt"Spell check". Um es in Ihre eigene Symbolleiste einzufügen, fügen Sie hinzuspellcheckzur Symbolleistenzeichenfolge.
Wenn das Plugin geladen ist, ist der native Checker aktiviert und es ist nichts anderes erforderlich. Um das Überprüfungsgremium zu erhalten, geben Sie ihm einen Resolver: eine Funktion, die den Klartext des Dokuments empfängt und die Probleme oder eine Zusage davon zurückgibt.
// A stand-in for your spelling service: returns [{ word, offset, length, suggestions }].
var dictionary = { teh: ["the", "tech"], jumpd: ["jumped", "jumps"], befor: ["before", "befog"] };
var editor = new RichTextEditor("#editor", {
toolbar: "full",
spellCheckResolver: function (text) {
var issues = [];
text.replace(/[A-Za-z]+/g, function (w, offset) {
var s = dictionary[w.toLowerCase()];
if (s) issues.push({ word: w, offset: offset, length: w.length, suggestions: s });
});
return Promise.resolve(issues);
}
});
In einer realen Anwendung ruft der Resolver Ihren Server auf, der einen Prüfer wie Hunspell oder LanguageTool ausführt und seine Antwort dieser Form zuordnet:
spellCheckResolver: function (text) {
return fetch("/spell", { method: "POST", body: text }).then(function (r) { return r.json(); });
}
Optionen
| Option | Standard | Was es bewirkt |
|---|---|---|
spellCheckEnabled | true | Setsspellcheck="true"oder"false"im Bearbeitungsbereich, wenn der Editor startet. |
spellcheck | true | Der eigene Schalter des Kerneditors für dasselbe Attribut. Das Attribut ist nur dann "true", wenn beide Optionen true sind. |
spellCheckResolver | null | function (text) gibt ein Array von { word, offset, length, suggestions } oder ein Versprechen davon zurück. Ohne diese Angabe aktiviert der Befehl nur den nativen Prüfer. |
text_spellcheck, text_spellchecktitle, text_spellchecknative, text_spellcheckclean, text_sp_* | Englisch | Schaltflächenbeschriftung, Paneltitel und Meldungen. Die Sprachpakete legen sie fest. |
Verwenden
- Kein Resolver. Der Befehl setzt
spellcheck="true"auf den Bearbeitungsbereich, fokussiert ihn und zeigt unten auf der Seite eine kurze Meldung an: "Browser spell-check is on — misspellings are underlined as you type." Dadurch wird auch der native Prüfer wieder aktiviert, wenn Sie mitspellCheckEnabled: falsebegonnen haben. Korrekturen werden über das browsereigene Kontextmenü vorgenommen. - Mit einem Resolver. Der Befehl sendet
innerTextdes Dokuments an den Resolver und öffnet das Rechtschreibfenster. Jede Ausgabe zeigt das Wort und bis zu sechs Vorschläge. Wenn Sie auf einen Vorschlag klicken, wird das Wort ersetzt und die Zeile ausgegraut. "No spelling issues found." wird angezeigt, wenn die Liste leer ist, und "Nothing to check.", wenn das Dokument leer ist. - Ein Resolver, der ablehnt, zeigt "Spell-check service error." an; eine, die länger als 12 Sekunden dauert, zeigt "Spell-check timed out." an; einer, der wirft, zeigt "Spell-check error." .
Wissenswertes
- Ersetzung erfolgt nach Wort, nicht nach Position. Ein Vorschlag ersetzt die erste Ganzwortübereinstimmung von
wordim Dokument (Text innerhalb voncodeundprewird übersprungen).offsetundlengthwerden nicht verwendet. Wenn also ein Wort zweimal falsch geschrieben wird, korrigiert jeder Klick das nächste Vorkommen von oben. - Ersetzungen sind keine Schritte zum Rückgängigmachen. In 2.6.12 wird durch „Rückgängig“ nach dem Klicken auf einen Vorschlag das alte Wort nicht wiederhergestellt.
- Sprachen. Das Plugin hat keine Spracheinstellung. Der native Prüfer verwendet die Wörterbücher des Browsers und des Betriebssystems des Benutzers; Bei einem Resolver ist die Sprache diejenige, die Ihr Dienst prüft. Übergeben Sie es von Ihrer Seite, zum Beispiel
fetch("/spell?lang=fr", …). - Ihr Text geht an Ihren Dienst. Der gesamte Klartext des Dokuments wird bei jeder Prüfung an den Resolver übergeben. Vom Plugin selbst wird nichts irgendwohin gesendet.
- Dem gespeicherten HTML wird nichts hinzugefügt. Das Attribut
spellcheckbefindet sich im Bearbeitungsbereich, nicht im Inhalt.
Verwandt: Demo zur Rechtschreibprüfung, Schrägstrichbefehle.