• 富文本编辑器 summernote.js


    1、引用js  可在 https://summernote.org/ 官网下载 ,并查看详细的API  引入:summernote.js 和 summernote-zh-CN.js 以及样式文件:summernote.css

    2、Html

     1 <textarea class="summernote" data-type="w"></textarea> 

    3、初始化summernote 

      1 /**
      2  * 初始化富文本框 summernote
      3  * */
      4 function initSummernote() {
      5     $('.summernote').summernote({
      6         lang: 'zh-CN',
      7         height: 300,
      8         placeholder: "详情...",
      9         minHeight: null, // set minimum height of editor
     10         maxHeight: null, // set maximum height of editor
     11         focus: false,
     12         disableDragAndDrop: true,
     13         dialogsInBody: true,
     14         dialogsFade: true,
     15         fontSizes: ['8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25'],
     16         fontNames: [
     17             'Arial', 'Arial Black', 'Comic Sans MS', 'Courier New',
     18             'Helvetica Neue', 'Helvetica', 'Impact', 'Lucida Grande',
     19             'Tahoma', 'Times New Roman', 'Verdana', 'Microsoft YaHei'
     20         ],
     21         toolbar: [
     22             // [groupName, [list of button]]
     23             ['style', ['bold', 'italic', 'underline', 'clear', 'fontsize', 'fontname']],
     24             ['color', ['color']],
     25             ['font', ['style', 'strikethrough', 'superscript', 'subscript', 'height']],
     26             //['para', ['ul', 'ol', 'paragraph']],
     27             ['para', ['paragraph']],
     28             //['video', ['video']],
     29             ['picture', ['picture']],
     30             ['link', ['link']],
     31             ['table', ['table']],
     32             //['hr', ['hr']],
     33             ['undo', ['undo']],
     34             ['redo', ['redo']],
     35             ['help', ['help']],
     36             ['codeview', ['codeview']]
     37         ],
     38         callbacks: {
     39             //上传回调
     40             onImageUpload: function (files) { //the onImageUpload API
     41                 var type = $(this).data('type');
     42                 $.each(files, function (i, item) {
     43                     sendFile(item, type);
     44                 });
     45             },
     46             //删除回调
     47             onMediaDelete: function (target) {
     48                 deleteFile(target);
     49             }
     50         }
     51     });
     52     //解决选择图片时 打开本地文件夹时,有延时问题。
     53     $('.note-image-input').prop('accept', 'image/jpeg, image/jpg, image/png, image/gif');
     54 }
     55 /**
     56  * Summernote 上传图片到服务器
     57  * @param {any} file 图片文件
     58  * @param {string} type 图片类型,在textarea 标签 中 添加 data-type 属性 英文 小写
     59  */
     60 function sendFile(file, type) {
     61     data = new FormData();
     62     data.append("file", file);//根据实际情况传参
     63     data.append("dir", type);
     64     $.ajax({
     65         data: data,
     66         type: "POST",
     67         url: "/",
     68         cache: false,
     69         contentType: false,
     70         processData: false,
     71         success: function (result) {
     72             if (result.success) {
     73                 $(".summernote").summernote('insertImage', result.url);
     74             } // the insertImage API
     75         },
     76         error: function () {
     77             alert('上传失败!');
     78         }
     79     });
     80 }
     81 /**
     82  * Summernote 删除到服务器中的图片
     83  * @param {object} target//回调参数
     84  */
     85 
     86 function deleteFile(target) {
     87     var picUrl = target.attr('src');
     88     $.ajax({
     89         data: { },
     90         type: "POST",
     91         url: "/",
     92         processData: true,
     93         success: function (result) {
     94         },
     95         error: function () {
     96             alert('删除失败!');
     97         }
     98     });
     99 
    100 }

    4、使用:直接调用 

    initSummernote()就可以完成初始化。
  • 相关阅读:
    yii框架中的各种小问题
    yii框架无限极分类的做法
    yii框架中的下拉菜单和单选框
    yii框架定时任务的操作
    yii框架里DetailView视图和GridView的区别
    git的使用(1)
    mysql 连接问题
    PHP字符串函数
    phpdocmentor 生成php 开发文档(转载)
    使用Nginx的X-Accel-Redirect实现大文件下载
  • 原文地址:https://www.cnblogs.com/kitty-blog/p/10542013.html
Copyright © 2020-2023  润新知