tinymce富文本支持word内容同时粘贴文字图片上传 vue2

2024-07-21 1055阅读

效果图
tinymce富文本支持word内容同时粘贴文字图片上传 vue2

先放文件
tinymce富文本支持word内容同时粘贴文字图片上传 vue2

文件自取tinymce: tinymce富文本简单配置及word内容粘贴图片上传

封装tinymce
tinymce富文本支持word内容同时粘贴文字图片上传 vue2

文件自取:tinymce: tinymce富文本简单配置及word内容粘贴图片上传

页面引用组件

          
  import TinymceSimplify from '@/components/TinymceSimplify'
    components: {
      TinymceSimplify,
    },
  searchData(res) {
         this.knowledgeBlockItem.content=res.data
 this.$refs.TinymceSimplify.changeVaulue(res.data)
        },




简单解释一下封装文件的内容

总体思路就是,找到粘贴的内容将img的src转换成Blob URI,这样页面可以正常展示图片了

src/components/TinymceSimplify/index

data() {
    return {
      //初始化配置
      myValue: this.value,
      init: {
       
        init_instance_callback: editor => {
          editor.on("paste", evt => {
            // 监听粘贴事件
            this.onPaste(evt);
          });
        },
 
    };
  },

提取图片信息,转换成Blob URI,再在监听事件中获取页面元素,将img src转换

 

  editor.on("NodeChange Change KeyUp SetContent", () => {
            this.hasChange = true;
            this.$nextTick(() => {
              console.log("输入?zhelieditor.getContent()");
              console.log("this.pasteChange", this.pasteChange);
              if (this.pasteChange) {
                // HTML字符串
                let htmlString = editor.getContent();
                // Blob URL数组
                let urls = this.blobUrlArr;
                // 使用DOMParser解析HTML字符串
                let parser = new DOMParser();
                let doc = parser.parseFromString(htmlString, "text/html");
                // 获取所有的标签
                let imgs = doc.querySelectorAll("img");
                // 遍历imgs和urls数组,设置每个img的src属性
                imgs.forEach((img, index) => {
                  if (index  {
                  editor.setContent(modifiedHtmlString);
                });
              }
              this.$emit("input", editor.getContent());
            });
          });
          editor.on("paste", (evt) => {
            // 监听粘贴事件
            this.onPaste(evt, editor);
          });
        },
VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]