Persönliche Meinung: Hauptsächlich zum Bearbeiten im Hintergrund, genau wie beim Schreiben eines Artikels auf einem öffentlichen Konto, wird er auch auf Basis des Rich-Text-Editors geschrieben.
(2.1) Summernote unterstützt das Bootstrap-Frontend-Framework: http://www.bootcss.com/. Das Hauptaugenmerk liegt auf dem responsiven Layout, bei dem Mobiltelefone (mobile Geräte) Vorrang haben. Es eignet sich sehr gut zum Surfen für die große Anzahl von Mobiltelefonnutzern heutzutage. Somit eignet sich Summernote auch sehr gut für die Textbearbeitung auf Mobiltelefonen.
(2.2) Bootstrap verfügt auch über einen eigenen Rich-Text-Editor: Bootstrap-Wysiwyg, aber warum nicht diesen verwenden? Der Grund dafür ist, dass Summernote Videos einfügen kann. Aber auch viele andere Rich-Text-Editoren können Videos einfügen? Ich spreche von inländischen Videos. Die meisten anderen Rich-Text-Editoren können nur YouTube-Videos und Youku-Videos einfügen, wenn sie Texte bearbeiten.
(2.3) Summernote ist wirklich sehr einfach, aber seine Funktionen sind sehr umfassend. Sie können auch die Symbolleiste anpassen, und Emoji ist keine Ausnahme. Da die meisten Artikel zum Einfügen von Emojis in Summernote jedoch zum lokalen Laden von Emojis verwendet werden, ist dies möglich siehe: https://github.com/summernote/awesome-summernote und https://github.com/nilobarp/summernote-ext-emoji, Das lokale Laden von Emoji würde jedoch mit dem Löschen von Bildern in Konflikt geraten, daher habe ich die Emoji-Funktion nicht hinzugefügt. Eine andere Möglichkeit besteht darin, den Link zum api.github.emoji-Server über Ajax abzurufen und ihn dann über den Link hinzuzufügen, aber das ist Jun weiß wirklich nicht, wie man es benutzt.
(2.4) Summernote kann den Wert des Textfelds direkt über Summernote ('code'), den HTML-Textcode, abrufen und direkt in die Datenbank hochladen oder an den Hintergrund senden.
(3.1) Da die mit Summernote gelieferte Funktion das Bild nur in das Base64-Format konvertiert und speichert, ist es sehr mühsam, es in der Datenbank zu speichern. Ein zufälliges Bild kostet mehrere MB, was zu viel ist, also habe ich es neu geschrieben Es ist viel besser, es auf dem Server zu speichern und dann die Adresse des Bildes auf dem Server in die Datenbank hochzuladen.
(3.2) Ich habe in vielen anderen Blogs gesehen, dass die von Summernote hochgeladenen Bilder neu geschrieben und auf dem Server gespeichert werden, aber es ist schade, dass sie den Code einfach einfügen und ihn vergessen. Außerdem werden sie im Grunde nur gespeichert und nicht gelöscht Ich denke, was wäre, wenn es schade wäre, ein Bild falsch einzufügen, es aber nicht gelöscht werden kann, deshalb habe ich vor, eine Summernote-Version zu schreiben, mit der Sie Bilder hochladen und löschen können. Tatsächlich ist die Idee dieselbe wie in meinem letzten Artikel. Achten Sie nur auf einige Stellen: $ .ajax () von jQuery interagiert mit dem PHP-Hintergrund und verwendet MutationObserver, um Bilder zu löschen
(3.3) Jeder, der weiß, wie man Ajax verwendet, sollte kein Problem haben, daher verwendet das Umschreiben von onImageUpload auch ajax() von jQuery, um mit dem Hintergrund zu interagieren. Da ajax() auch den Dateityp unterstützt, wird der FormData-Typ für die Interaktion verwendet.
(3.4) Wenn Sie es umschreiben können, ist das kein Problem. Ich habe das Backend nicht nur aus Bequemlichkeitsgründen umgeschrieben, aber andere Arten von Backends sind mit nur etwa 10 Zeilen Code relativ einfach zu schreiben.
(4.1) Das Einfügen eines relativ großen Bildes kann einen Fehler verursachen. Der erste Grund liegt hauptsächlich darin, dass die Bildgröße den zulässigen Bereich überschreitet. Dieses Problem kann durch Ändern der max_execution_time oder post_max_filesize gelöst werden von php.ini. Es kann gelöst werden, ich werde nicht viel mehr sagen und auf die Erfahrungen anderer Leute verweisen: http://blog.csdn.net/anan890624/article/details/51859863
(4.2) Der zweite Grund liegt ebenfalls in der Datei php.ini, es handelt sich jedoch nicht um eine Größenbeschränkung, sondern die temporäre Speicherdatei der Datei kann ursprünglich nicht im upload_tmp_dir von php.ini definiert werden Es muss geändert werden. Hier sind die Änderungen, die ich auf dieser Grundlage vorgenommen habe.
(4.3) Nach dem Ändern von php.ini müssen Sie den Server neu starten, da sonst auch beim Ändern Fehler auftreten.