ความคิดเห็นส่วนตัว: ส่วนใหญ่ใช้สำหรับการแก้ไขในเบื้องหลัง เช่นเดียวกับเมื่อคุณเขียนบทความในบัญชีสาธารณะ บทความนั้นก็เขียนโดยใช้โปรแกรมแก้ไข Rich Text เช่นกัน
(2.1) Summernote รองรับเฟรมเวิร์กส่วนหน้าของ bootstrap: http://www.bootcss.com/ ปัจจุบัน Bootstrap ถูกใช้กันทั่วไปมาก จุดเด่นหลักคือรูปแบบที่ตอบสนอง และโทรศัพท์มือถือ (อุปกรณ์มือถือ) จะได้รับความสำคัญ เหมาะมากสำหรับการท่องเว็บโดยผู้ใช้โทรศัพท์มือถือจำนวนมากในปัจจุบัน ดังนั้น Summernote จึงเหมาะมากสำหรับการแก้ไขข้อความบนโทรศัพท์มือถือ
(2.2) bootstrap ยังมีโปรแกรมแก้ไข Rich Text ของตัวเอง: bootstrap-wysiwyg แต่ทำไมไม่ใช้สิ่งนี้ล่ะ เหตุผลก็คือ Summernote สามารถแทรกวิดีโอได้ แต่โปรแกรมแก้ไขข้อความแบบ Rich Text อื่น ๆ ก็สามารถแทรกวิดีโอได้เช่นกัน ฉันกำลังพูดถึงวิดีโอในประเทศ โปรแกรมแก้ไขข้อความต่างชาติส่วนใหญ่สามารถแทรกได้เฉพาะ YouTube เท่านั้น Summernote สามารถแทรกวิดีโอของ Tencent และวิดีโอ Youku ได้
(2.3) Summernote นั้นเรียบง่ายมาก แต่ฟังก์ชั่นของมันนั้นสมบูรณ์มาก คุณยังสามารถปรับแต่งแถบเครื่องมือได้ และอีโมจิก็ไม่มีข้อยกเว้น อย่างไรก็ตาม เนื่องจากบทความส่วนใหญ่เกี่ยวกับการแทรกอิโมจิใน Summernote นั้นใช้เพื่อโหลดอีโมจิในเครื่อง คุณจึงสามารถทำได้ อ้างถึง: https://github.com/summernote/awesome-summernote และ https://github.com/nilobarp/summernote-ext-emoji แต่การโหลดอิโมจิในเครื่องอาจขัดแย้งกับการลบรูปภาพ ดังนั้นฉันจึงไม่ได้เพิ่มฟังก์ชันอิโมจิ อีกวิธีหนึ่งคือการรับลิงก์ไปยังเซิร์ฟเวอร์ api.github.emoji ผ่าน ajax แล้วเพิ่มผ่านลิงก์ แต่นี่คือ Jun ไม่รู้วิธีใช้จริงๆ
(2.4) Summernote สามารถรับค่าของกล่องข้อความได้โดยตรงผ่าน summernote('code') ซึ่งเป็นโค้ดเนื้อหาของ html และสามารถอัปโหลดไปยังฐานข้อมูลได้โดยตรงหรือส่งไปยังพื้นหลัง
(3.1) เนื่องจากฟังก์ชันที่มาพร้อมกับ summernote จะแปลงรูปภาพเป็นรูปแบบ base64 และบันทึกเท่านั้น การบันทึกลงในฐานข้อมูลจะยุ่งยากมาก รูปภาพแบบสุ่มจะมีราคาหลาย MB ซึ่งมากเกินไป ฉันจึงเขียนใหม่ มันจะดีกว่ามากถ้าบันทึกไว้บนเซิร์ฟเวอร์แล้วอัพโหลดที่อยู่ของรูปภาพบนเซิร์ฟเวอร์ไปยังฐานข้อมูล
(3.2) ฉันเคยเห็นในบล็อกอื่น ๆ มากมายว่ารูปภาพที่อัปโหลดโดย Summernote นั้นถูกเขียนใหม่และบันทึกลงในเซิร์ฟเวอร์ แต่น่าเสียดายที่พวกเขาเพิ่งวางโค้ดและลืมมันไป ยิ่งไปกว่านั้น โดยพื้นฐานแล้วพวกมันจะถูกบันทึกเท่านั้นและไม่ถูกลบ . ฉันคิดว่าจะเป็นอย่างไรหากใส่รูปภาพไม่ถูกต้อง แต่ก็ไม่สามารถลบได้ ดังนั้นฉันจึงวางแผนที่จะเขียนเวอร์ชัน Summernote ที่ให้คุณอัปโหลดและลบรูปภาพได้ ที่จริงแล้ว แนวคิดนี้เหมือนกับบทความล่าสุดของฉัน เพียงให้ความสนใจกับบางที่: $.ajax() ของ jQuery โต้ตอบกับพื้นหลัง php และใช้ MutationObserver เพื่อลบรูปภาพ
(3.3) ใครก็ตามที่รู้วิธีใช้ ajax ไม่น่าจะมีปัญหา ดังนั้นการเขียน onImageUpload ใหม่ยังใช้ ajax() ของ jQuery เพื่อโต้ตอบกับพื้นหลัง เนื่องจาก ajax() รองรับประเภทไฟล์ด้วย จึงใช้ประเภท FormData เพื่อโต้ตอบ
(3.4) หากคุณสามารถเขียนใหม่ได้ ก็ไม่มีปัญหา ฉันจะไม่เขียนใหม่เพื่อความสะดวก ฉันเขียนแบ็กเอนด์ใน PHP แต่แบ็กเอนด์ประเภทอื่น ๆ นั้นค่อนข้างง่ายในการเขียนด้วยโค้ดเพียงประมาณ 10 บรรทัด
(4.1) การแทรกรูปภาพที่ค่อนข้างใหญ่อาจทำให้เกิดข้อผิดพลาด สาเหตุอยู่ในไฟล์ php.ini สาเหตุหลักคือขนาดรูปภาพเกินขอบเขตที่อนุญาต ปัญหานี้สามารถแก้ไขได้โดยการแก้ไข max_execution_time หรือ post_max_size หรือ upload_max_filesize ของ php.ini แก้ได้ไม่พูดเยอะแล้วลองเล่าประสบการณ์คนอื่นดูครับ http://blog.csdn.net/anan890624/article/details/51859863
(4.2) เหตุผลที่สองอยู่ในไฟล์ php.ini เช่นกัน แต่ไม่ได้จำกัดขนาด แต่ไม่พบไฟล์จัดเก็บข้อมูลชั่วคราวของไฟล์ ซึ่งอาจไม่ได้กำหนดไว้แต่แรกใน upload_tmp_dir ของ php.ini ดังนั้น มันจำเป็นต้องแก้ไข นี่คือสิ่งที่ฉันทำ การปรับเปลี่ยนบนพื้นฐานนี้
(4.3) หลังจากแก้ไข php.ini คุณต้องรีสตาร์ทเซิร์ฟเวอร์ ไม่เช่นนั้นข้อผิดพลาดจะเกิดขึ้นแม้ว่าคุณจะแก้ไขก็ตาม