富文本框summernote(v0.8.12)插入图片功能增加新的缩放比例 博客分类: 积累-记事本 富文本框summernote增加新的缩放比例
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']], ],
至此修改完毕,可以更新发布查看效果。还可以根据需要增加其他缩放比例