summernote粘贴图片异常

本文介绍在Summernote v0.8.12中遇到的图片粘贴异常问题,详细解释了两种解决方法:一是修改createImage函数代码,二是升级至最新版本v0.8.18。经验证,谷歌浏览器下仅出现此问题。

summernote的使用

summernote = $('#summernote').summernote({
    lang: 'zh-CN',
    focus: true,
    callbacks: {
        onChange: function (contents, $edittable) {
            // 内容变化时的响应事件
        },
        // 上传图片
        onImageUpload: function (files) {
            var obj = this;
            var data = new FormData();
            data.append("file", files[0]);
            $.ajax({
                type: "post",
                url: ctx + "common/upload",  // 上传图片的接口
                data: data,
                cache: false,
                contentType: false,
                processData: false,
                dataType: 'json',
                success: function (result) {
                    if (result.code == web_status.SUCCESS) {
                        $('#' + obj.id).summernote('insertImage', result.url);
                    } else {
                        $.modal.alertError(result.msg);
                    }
                },
                error: function (error) {
                    $.modal.alertWarning("图片上传失败。");
                }
            });
        }
    }
});

异常现象

当粘贴图片到summernote编辑器时, 居然会自动多粘贴一张 summernote 版本 v0.8.12
在这里插入图片描述

解决方法

方法一
  1. 找到 summernote.js文件
  2. 搜索 createImage(url), 修改为如下代码
function createImage(url) {
      return $$1.Deferred(function (deferred) {
          var $img = $$1('<img>');

          /** 开启后, 谷歌浏览器会出现粘贴图片异常
          $img.one('load', function () {
              $img.off('error abort');
              deferred.resolve($img);
          }).one('error abort', function () {
              $img.off('load').detach();
              deferred.reject($img);
          });
           */

          $img.css({
              display: 'none'
          }).appendTo(document.body).attr('src', url);
      }).promise();
  }
  1. 问题解决
    在这里插入图片描述
方法二

我使用的summernote版本是 v0.8.12, 尝试火狐, IE, 谷歌浏览器, 只有谷歌浏览器会出现这个问题!!!, 不可思议.
第二种方法就是使用最新版本summernote, 现在是 v0.8.18, 亲测正常
summernote官方下载地址
百度网盘下载 提取码: kvzk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值