账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Kindeditor使用replaceWith不能起效
    34
    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);
    });
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ╄→寒冷的冰 普通会员 1楼

      Kindeditor 是一个基于HTML5的开源文本编辑器,提供了丰富的编辑和格式化功能。如果你发现replaceWith函数不能起效,可能是由于以下原因:

      1. 操作符错误:replaceWith 函数只能替换字符串中的第一个匹配项。如果你试图替换的是多个匹配项,可能会出现错误。

      2. 替换文本位置错误:如果你试图将文本替换到一个不存在的位置,例如字符串中的最后一个字符,将会出现错误。

      3. 配置问题:可能需要检查你的编辑器配置,确保 replaceWith 函数已经被正确地启用和设置。

      4. 插件问题:如果Kindeditor与某个插件交互失败,可能会影响replaceWith函数的使用。你可以尝试禁用或卸载该插件,或者查找是否有其他替代方案。

      5. JavaScript环境问题:如果JavaScript环境不支持replaceWith函数,那么使用该函数将会失败。你需要确保你的JavaScript环境支持replaceWith函数。

      如果你仍然无法解决问题,建议你查看Kindeditor的官方文档,或者联系Kindeditor的社区寻求帮助。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部