Kindeditor使用replaceWith不能起效

发布于 2022-09-06 11:32:13 字数 1532 浏览 25 评论 0

前端使用Kindeditor,现在要实现一个功能:粘贴截图自动上传,后台将图片存在服务器,并返回url,kindeditor使用这个url显示图片。

现在遇到个问题,在火狐浏览器下,直接使用insertHtml会插入粘贴进去的截图和使用后台返回的url显示的图片,所以想用replacewith,但是又不起作用,请各位大神指点下。

var frame = this.edit;
var cmd = this.edit.cmd;
var doc = this.edit.doc;

$(doc.body).bind('paste', function(e)
{
    setTimeout(function()
    {
        var html = K(doc.body).html();
        var ele = $(html).find('img');

         ele.each(function (index,element) {
             if(element.outerHTML.search(/<img src="data:.+;base64,/) > -1){
                 var src = element.src;
                 var formData = new FormData();
                 var file = dataURItoBlob(src);
                 formData.append("imgFile",file);

                 $.ajax({
                     url : '../kindUpload',
                     type : 'POST',
                     data : formData,
                     processData : false,
                     contentType : false,
                     dataType:"json",
                     success : function(res) {
                         //上传完之后,生成图片标签回显图片,假定服务器返回url。
                         var src = res.url;
                         var imgTag = "<img src='"+src+"' border='0'/>";
                         K(element).replaceWith(imgTag);
                         editor.sync();
                     },
                     error : function(res) {
                         console.log(res);
                     }
                 });
             }
        })
    }, 40);
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文