Wie kann ich HTML Clean Up im Editor-Modus deaktivieren? Ich bin in der Notwendigkeit, CSS-Format & Inline-HTML-Code zu ermöglichen. Die Idee besteht darin, die Parser- und HTML-Bereinigungsaktion zu deaktivieren, wenn der Code eingefügt und der Editor zur Bearbeitung eingegeben wird. Vielen Dank.Wie deaktiviert wysihtml5 HTML-Bereinigung im Editor?
Antwort
Eigentlich sind dies die Parser-Regeln.
Sie können Ihre benutzerdefinierten Regeln an das mitgelieferte var wysihtml5ParserRules
anhängen, bevor Sie das Editor-Objekt instanziieren oder einfach ein eigenes Regelobjekt erstellen und dem Konstruktor des Editors übergeben.
Um zum Beispiel des h1 und h3-Tag zusätzlich zu den Tags in den verteilten einfachen Beispiel Regeln erlaubt zu ermöglichen, sollten Sie bis festlegen müssen, wie folgt:
<form>
<div id="toolbar" style="display: none;">
<a data-wysihtml5-command="bold" title="CTRL+B">bold</a> |
<a data-wysihtml5-command="italic" title="CTRL+I">italic</a>
<a data-wysihtml5-action="change_view">switch to html view</a>
</div>
<textarea id="textarea" placeholder="Enter text ..."></textarea>
<br><input type="reset" value="Reset form!">
</form>
<!-- The distributed parser rules -->
<script src="../parser_rules/simple.js"></script>
<script src="../dist/wysihtml5-0.4.0pre.min.js"></script>
<script>
// attach some custom rules
wysihtml5ParserRules.tags.h1 = {remove: 0};
wysihtml5ParserRules.tags.h3 = {remove: 0};
var editor = new wysihtml5.Editor("textarea", {
toolbar: "toolbar",
parserRules: wysihtml5ParserRules,
useLineBreaks: false
});
</script>
Wenn Sie nun eingeben/Einfügen von <title>test</title>
in den Editor, während Sie im Editor-Modus sind, und wechseln Sie dann zur HTML-Ansicht, erhalten Sie <title>test</title>
. Und wenn Sie zurück zur Editor-Ansicht wechseln, erhalten Sie wieder <title>test</title>
.
Das war der allgemeine Teil.
Nun, ich bin mir nicht sicher, ob es die beste Idee ist, mit 121 benutzerdefinierten Parser-Regeln zu arbeiten (die Anzahl der HTML-Tags zu handhaben) oder wenn es nicht besser wäre, die Zeit und dig zu nehmen in den Quellcode, um eine performantere Lösung zu finden (macht es nicht viel Sinn, einem Parser zu sagen, dass er tatsächlich die Eingabezeichenfolge trotzdem zurückgibt, oder?). Außerdem haben Sie gesagt, dass Sie CSS ebenfalls zulassen möchten. So werden Ihre benutzerdefinierten Parser-Regeln sogar erweitert.
Wie auch immer, als Ausgangspunkt können Sie meinen benutzerdefinierten Parser-Regelsatz von hier aus verwenden: https://github.com/eyecatchup/wysihtml5/blob/master/parser_rules/allow-all-html5.js.
Ja das ist die richtige Antwort, danke! – duy
Sie können bei der Initialisierung des wysihtml5-Editors eine Identitätsfunktion als Parserattribut angeben. Das folgende Skript ist ein Coffeescript-Snippet, das die Bereinigung vollständig deaktiviert.
enableWysiwyg: ->
@$el.find('textarea').wysihtml5
"style": false
"font-styles": false #Font styling, e.g. h1, h2, etc. Default true
"emphasis": true #Italics, bold, etc. Default true
"lists": false #(Un)ordered lists, e.g. Bullets, Numbers. Default true
"html": true #Button which allows you to edit the generated HTML. Default false
"link": false #Button to insert a link. Default true
"image": false #Button to insert an image. Default true,
"color": false #Button to change color of font
parser: (html) -> html
JavaScript-Version des obigen Codes:
$('textarea').wysihtml5({
"style": false,
"font-styles": false,
"emphasis": true,
"lists": false,
"html": true,
"link": false,
"image": false,
"color": false,
parser: function(html) {
return html;
}
});
Und wie würde das in einfachen alten Javascript aussehen? – jahu
@MarcinHabuszewski das oben genannte coffeescript [kompiliert zu diesem] (https://gist.github.com/smabbott/26b3295608db37340b4b). – smabbott
@Ilja Danke für den Code. Es wäre noch besser, wenn Sie es in die Antwort auf SO aufnehmen könnten. – jahu
- 1. Wysihtml5 Editor - Limit Anzahl der Zeichen
- 2. Zugriff auf das bootstrap-wysihtml5-Editor-Objekt
- 3. HTML programmatisch in wysiHTML5 Editor einfügen
- 4. Wie kann die Schriftartglättung im Visual Studio-Editor deaktiviert werden?
- 5. wysihtml5 Override-Link-Dialogverhalten
- 6. anpassen bootstrap-wysihtml5 text editor mit mehr funktionen
- 7. Einfügen von Text an der Cursorposition in WYSIHTML5 Editor
- 8. Anpassen WYSIHTML5 Symbolleiste
- 9. Der beste Weg, um bootstrap-wysihtml5 Ausgabe
- 10. Wie deaktiviert man die "Auto Format" -Funktion von VisualStudio2008 Editor?
- 11. wysihtml5. Image src und href sind entfernt
- 12. wie man bootstrap-wysihtml5 dynamisch ändert
- 13. Schlechte Zeichen im Editor ++
- 14. Dokument im Editor aktualisieren ++
- 15. wysihtml5: Kopieren von Text aus einem Word-Dokument in den Editor
- 16. Wie deaktiviert man xdebug im Skript?
- 17. Wie können Menüelemente im ContextMenuStrip deaktiviert werden?
- 18. Validieren Sie wysihtml5 Editor auf Textarea für nur Leerzeichen als Eingabe
- 19. Wie fataler Fehler im Code-Editor drucken?
- 20. Wie man Edwin Editor im Konsolenmodus ausführt
- 21. WordPress: wie Symbolleiste im Post-Editor ausblenden?
- 22. Beschränken Sie die Tastaturkürzel im TinyMCE-Editor
- 23. Inkonsistente Zeile endet im Editor ++
- 24. Automatisches Speichern im Atom-Editor
- 25. Kommentarfarbe im Atom-Editor ändern
- 26. Fehler im Windows Forms Editor
- 27. Suchzeichenfolge für Zahlen im Editor ++
- 28. Stapelüberläufe im Eclipse-JSP-Editor
- 29. Dupliziere eine Textzeile im Editor ++?
- 30. .pl Dateien im Editor öffnen
Haben Sie jemals eine Lösung für dieses Problem finden? – Wallter