欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

富文本框summernote(v0.8.12)插入图片功能增加新的缩放比例 博客分类: 积累-记事本 富文本框summernote增加新的缩放比例

程序员文章站 2024-03-13 19:02:15
...

summernote富文本框提供了插入图片功能,对插入的图片的编辑,提供了“缩放至100%”,“缩放至50%”,“缩放至25%”以及原始大小四个按钮,想要增加“缩放至75%”的功能。本文记录如何增加“缩放至75%”功能(本文将“缩放至75%”按钮命名为resizePrecent75)。

要增加“缩放至75%”功能,需要修改summernote.js(或者summernote.min.js)及summernote-zh-CN.js文件。

1.修改summernote-zh-CN.js文件,在image结构体中增加 resizePrecent75 的定义:

image: {
        image: '图片',
        insert: '插入图片',
        resizeFull: '缩放至 100%',
        resizePrecent75: '缩放至 75%',
        resizeHalf: '缩放至 50%',
        resizeQuarter: '缩放至 25%',
        floatLeft: '靠左浮动',
        floatRight: '靠右浮动',
        floatNone: '取消浮动',
        shapeRounded: '形状: 圆角',
        shapeCircle: '形状: 圆',
        shapeThumbnail: '形状: 缩略图',
        shapeNone: '形状: 无',
        dragImageHere: '将图片拖拽至此处',
        dropImage: '拖拽图片或文本',
        selectFromFiles: '从本地上传',
        maximumFileSize: '文件大小最大值',
        maximumFileSizeError: '文件大小超出最大值。',
        url: '图片地址',
        remove: '移除图片',
        original: '原始图片',
}

 2.修改summernote.js(或者summernote.min.js)

 

  (1)在en-US的image的结构体定义中增加resizePrecent75的定义:

image: {
              image: 'Picture',
              insert: 'Insert Image',
              resizeFull: 'Resize full', 
              resizePrecent75: 'Resize 75%',
              resizeHalf: 'Resize half',
              resizeQuarter: 'Resize quarter',
              resizeNone: 'Original size',
              floatLeft: 'Float Left', 
              floatRight: 'Float Right',
              floatNone: 'Remove float',
              shapeRounded: 'Shape: Rounded',
              shapeCircle: 'Shape: Circle',
              shapeThumbnail: 'Shape: Thumbnail',
              shapeNone: 'Shape: None',
              dragImageHere: 'Drag image or text here',
              dropImage: 'Drop image or Text',
              selectFromFiles: 'Select from files',
              maximumFileSize: 'Maximum file size',
              maximumFileSizeError: 'Maximum file size exceeded.',
              url: 'Image URL',
              remove: 'Remove Image',
              original: 'Original'
     }

  (2) 修改Buttons.prototype.addImagePopoverButtons函数定义,Image Size Buttons增加button.resizePrecent75的事件:

    找到 this.context.memo('button.resizeFull', function () { 的定义和 this.context.memo('button.resizeHalf', function () {  的定义,在button.resizeFull定义和button.resizeHalf定义之间增加如下代码:

   this.context.memo('button.resizePrecent75', function () {
              return _this.button({
                  contents: '<span class="note-fontsize-10">75%</span>',
                  tooltip: _this.lang.image.resizePrecent75,
                  click: _this.context.createInvokeHandler('editor.resize', '0.75')
              }).render();
    });

  (3)找到image的resize按钮组,增加 resizePrecent75按钮定义:

   在'resizeFull' 与 'resizeHalf'之间增加'resizePrecent75'

       popover: {
              image: [
                  ['resize', ['resizeFull', 'resizePrecent75', 'resizeHalf', 'resizeQuarter', 'resizeNone']],
                  ['float', ['floatLeft', 'floatRight', 'floatNone']],
                  ['remove', ['removeMedia']],
              ],
              link: [
                  ['link', ['linkDialogShow', 'unlink']],
              ],

 

    至此修改完毕,可以更新发布查看效果。还可以根据需要增加其他缩放比例