Heim Web-Frontend js-Tutorial Ausführliche Erläuterung der Verwendung der Texteditor-Komponente Summernote von BootStrap

Ausführliche Erläuterung der Verwendung der Texteditor-Komponente Summernote von BootStrap

Apr 16, 2018 am 11:18 AM
bootstrap 编辑器

Dieses Mal bringe ich Ihnen eine detaillierte Erklärung der Verwendung der Texteditor-Komponente Summernote von BootStrap. Was sind die Vorsichtsmaßnahmen der detaillierten Erklärung der Verwendung des BootStrap-Textes? Editor-Komponente Summernote Das Folgende ist ein praktischer Fall.

Summernote ist ein supereinfacher WYSIWYG-Online-Editor, der auf JQuery-Bootstrap basiert. Summernote ist sehr leicht, nur 30 KB groß und unterstützt Safari, Chrome, Firefox, Opera und das Internet Explorer 9+ (IE8-Unterstützung folgt in Kürze).

Eigenschaften:

Der weltweit beste WYSIWYG-Online-Editor

Extrem einfach zu installieren

Open Source

Benutzerdefinierte Initialisierungsoptionen

Unterstützt Tastenkombinationen

Anwendbar auf verschiedene Back-End-Programmsprachen

Offizielle Website-Adresse von Summernote: https://summernote.org/

Dies ist ein Beispiel von der offiziellen Website:

nbsp;html>


 <meta>
 <title>Summernote</title>
 <link>
 <script></script> 
 <script></script> 
 <link>
 <script></script>


 <p></p><p>Hello Summernote</p>
 <script>
 $(document).ready(function() {
 $(&#39;#summernote&#39;).summernote();
 });
 </script>

Nach dem Login kopieren

Rendering:

Ausführliche Erläuterung der Verwendung der Texteditor-Komponente Summernote von BootStrap

Der einfachste Weg, Komponenten standardmäßig zu initialisieren:

Fügen Sie einen Container

in

hinzu:
<p>Hello Summernote</p>
Nach dem Login kopieren

Verwenden Sie dann Jquery, um die Komponente zu initialisieren:

$(document).ready(function() {
 $('#summernote').summernote();
});
Nach dem Login kopieren

Wir können auch Komponenten definieren , wie zum Beispiel die Höhe des Bearbeitungsfelds anpassen:

$('#summernote').summernote({
 height: 300,   // 定义编辑框高度
 minHeight: null,  // 定义编辑框最低的高度
 maxHeight: null,  // 定义编辑框最高德高度
 });
Nach dem Login kopieren

Wir können auch die Symbolleiste anpassen:

 <!--工具栏-->
  toolbar: [
  <!--字体工具-->
  ['fontname', ['fontname']], //字体系列     
  ['style', ['bold', 'italic', 'underline', 'clear']], // 字体粗体、字体斜体、字体下划线、字体格式清除 
  ['font', ['strikethrough', 'superscript', 'subscript']], //字体划线、字体上标、字体下标 
  ['fontsize', ['fontsize']], //字体大小    
  ['color', ['color']], //字体颜色
  <!--段落工具-->  
  ['style', ['style']],//样式
  ['para', ['ul', 'ol', 'paragraph']], //无序列表、有序列表、段落对齐方式
  ['height', ['height']], //行高
  <!--插入工具--> 
  ['table',['table']], //插入表格 
  ['hr',['hr']],//插入水平线  
  ['link',['link']], //插入链接  
  ['picture',['picture']], //插入图片  
  ['video',['video']], //插入视频
  <!--其它-->
  ['fullscreen',['fullscreen']], //全屏
  ['codeview',['codeview']], //查看html代码
  ['undo',['undo']], //撤销
  ['redo',['redo']], //取消撤销
  ['help',['help']], //帮助
  ],
Nach dem Login kopieren

Einige andere Initialisierungseinstellungen:

lang:'zh-CN', //Um Chinesisch festzulegen, müssen Sie das chinesische Plug-in „summernote-zh-CN.js“ einführen
placeholder: 'write here...', //Placeholder
dialogsInBody : true, / / ​​Soll das Dialogfeld im Bearbeitungsfeld oder im Textkörper platziert werden
dialogsFade: true ,//Dialoganzeigeeffekt
invalidDragAndDrop: true ,//Drag-and-Drop-Funktion deaktivieren
Verknüpfungen: false , //Tastenkombinationen deaktivieren

Es gibt auch Rückruffunktionen :

callbacks: {
 
 }
Nach dem Login kopieren

Zu den Ereignissen in der Rückruffunktion gehören oninit, onenter, onfocus, onblur, onkeyup, onkeydown, onpaste, onImageUpload usw.,

Hier stellen wir hauptsächlich das Ereignis onImageUpload vor, das durch das Hochladen von Bildern ausgelöst wird:

Beim Einfügen eines Bildes zeigt die Summernote-Komponente das Bild standardmäßig in binärer Form an. Wenn der Inhalt des Textfelds auf diese Weise in der Datenbank gespeichert wird, entsteht eine große Menge an Datenbankdaten

Dies ist das Feld, das standardmäßig in der Datenbank gespeichert wird, wenn Summernote Bilder einfügt:

Daher wird hier eine andere Methode verwendet, nämlich das Hochladen des Bildes auf den Server. Nach erfolgreichem Hochladen wird die Zugriffsadresse des Bildes an den eingefügten Bildspeicherort zurückgegeben und das Bild angezeigt Die spezifische Implementierung ist wie folgt:                                          Die Hintergrundverarbeitungsanforderung speichert das Bild auf dem Server. Bei Erfolg wird die Bildzugriffsadresse zurückgegeben:

Hinweis: Ich habe die Zuordnungsbeziehung zwischen der realen Adresse für das Hochladen von Bildern und der virtuellen Bildzugriffsadresse in der server.xml von Tomcat konfiguriert, sodass die virtuelle Zugriffsadresse nach erfolgreichem Hochladen an das Frontend zurückgegeben wird

Empfehlung: Der echte Upload-Root-Pfad sollte in die Eigenschaften
callbacks: { 
     onImageUpload: function(file) { //图片默认以二进制的形式存储到数据库,调用此方法将请求后台将图片存储到服务器,返回图片请求地址到前端
      //将图片放入Formdate对象中      
      var formData = new FormData(); 
      //‘picture'为后台获取的文件名,file[0]是要上传的文件
      formData.append("picture", file[0]); 
      $.ajax({    
       type:'post', 
       url:'请求后台地址',   
       cache: false,
       data:formData, 
       processData: false,
       contentType: false,
       dataType:'text', //请求成功后,后台返回图片访问地址字符串,故此以text格式获取,而不是json格式
       success: function(picture) {      
       $('#summernote').summernote('insertImage',picture); 
       }, 
       error:function(){       
       alert("上传失败");       
       } 
      });
     } 
     }
Nach dem Login kopieren
Konfigurationsdatei

geschrieben werden, um zukünftige Adressänderungen zu erleichtern. Gleichzeitig sollte der virtuelle Zugriffs-Root-Pfad nicht in der Datenbank gespeichert werden . Der Root-Pfad für den virtuellen Zugriff wird ebenfalls in die Eigenschaftendatei geschrieben.

Methode zum Abrufen des Inhalts des Bearbeitungsfelds:

@RequestMapping(value="contentFileUpload",method=RequestMethod.POST)
 @ResponseBody
 public String contentFileUpload(MultipartFile picture) {
 if (picture!=null && picture.getOriginalFilename()!=null && picture.getOriginalFilename().trim().length()>0) { 
  /**
  * picture上传路径(+时间文件夹)
  */
  //真实的上传根路径
  String realUploadPath = 'D:/Program Files (x86)/apache-tomcat-8.5.16/webapps/file';
  //虚拟的文件访问根路径
  String fictitiousRoot = '/file'
  //建立以时间命名的文件夹
  SimpleDateFormat sdf=new SimpleDateFormat("/yyyy/MM/dd/"); 
  String datePath = sdf.format(new Date());
  //最终真实路径
  String realuUploadBrandPath = realUploadPath+"/content"+datePath;
  //最终虚拟访问路径
  String fictitiousUploadBrandPath =fictitiousRoot +"/content"+datePath;
  // 上传文件原始名称 
  String originFileName = picture.getOriginalFilename(); 
  // 新的文件名称 
  String newFileName = UUID.randomUUID()+originFileName.substring(originFileName.lastIndexOf(".")); 
  //如果路径文件夹不存在就创建 
  File dir=new File(realuUploadBrandPath); 
  if(!dir.exists()){ 
  dir.mkdirs(); 
  } 
  // 新文件 
  File newFile = new File(realuUploadBrandPath+File.separator+newFileName); 
  // 将内存中的文件写入磁盘 
  try {
  picture.transferTo(newFile);
  } catch (IllegalStateException | IOException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
  } 
  // 文件虚拟地址 
  String fictitiousFilePath = fictitiousUploadBrandPath+newFileName; 
  return fictitiousFilePath;   
 }
 return "false"; 
 }
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln zum Thema PHP-Chinesisch Webseite! Empfohlene Lektüre:

Operationssuchkomponente wird auf der Tastatur angezeigt

Verwenden Sie die statische Methode der Class-Klasse in ES6

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Verwendung der Texteditor-Komponente Summernote von BootStrap. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erhalten Sie die Bootstrap -Suchleiste So erhalten Sie die Bootstrap -Suchleiste Apr 07, 2025 pm 03:33 PM

So verwenden Sie Bootstrap, um den Wert der Suchleiste zu erhalten: Bestimmt die ID oder den Namen der Suchleiste. Verwenden Sie JavaScript, um DOM -Elemente zu erhalten. Holen Sie sich den Wert des Elements. Führen Sie die erforderlichen Maßnahmen aus.

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Wie man vertikale Zentrierung von Bootstrap macht Wie man vertikale Zentrierung von Bootstrap macht Apr 07, 2025 pm 03:21 PM

Verwenden Sie Bootstrap, um die vertikale Zentrierung zu implementieren: FlexBox-Methode: Verwenden Sie den D-Flex, den Justify-Content-Center und die Ausrichtungsklassen aus Align-Item-Center, um Elemente in den Flexbox-Behälter zu platzieren. Methode für Ausstellungs-Iitem-Center-Klassen: Bei Browsern, die Flexbox nicht unterstützen, verwenden Sie die Klasse aus Align-items-Center-Klasse, vorausgesetzt, das übergeordnete Element hat eine definierte Höhe.

So schreiben Sie geteilte Zeilen auf Bootstrap So schreiben Sie geteilte Zeilen auf Bootstrap Apr 07, 2025 pm 03:12 PM

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

So ändern Sie Bootstrap So ändern Sie Bootstrap Apr 07, 2025 pm 03:18 PM

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

So richten Sie das Framework für Bootstrap ein So richten Sie das Framework für Bootstrap ein Apr 07, 2025 pm 03:27 PM

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

So fügen Sie Bilder auf Bootstrap ein So fügen Sie Bilder auf Bootstrap ein Apr 07, 2025 pm 03:30 PM

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

Was tun, wenn die Bootstrap -Tabelle Ajax verwendet, um Daten durchzuziehen Was tun, wenn die Bootstrap -Tabelle Ajax verwendet, um Daten durchzuziehen Apr 07, 2025 am 11:54 AM

Lösungen für den verstümmelten Code der Bootstrap-Tabelle, wenn Sie AJAX verwenden, um Daten vom Server zu erhalten: 1. Legen Sie die korrekte Zeichenkodierung des serverseitigen Codes (z. B. UTF-8) fest. 2. Stellen Sie den Anforderungsheader in der AJAX-Anforderung ein und geben Sie die akzeptierte Zeichenkodierung an (Akzeptanz-Charge). 3. Verwenden Sie den "Unscape" -Verwandler der Bootstrap -Tabelle, um die entkommene HTML -Entität in Originalzeichen zu dekodieren.

See all articles