首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngx-quill/quill.js从innerHTML中剥离自定义污点

ngx-quill/quill.js从innerHTML中剥离自定义污点
EN

Stack Overflow用户
提问于 2019-06-10 21:25:44
回答 1查看 638关注 0票数 0

标题可能有误导性,但我不知道如何更好地命名它。我想要实现的是为我的自定义blot嵌入类似twitter的小部件。为此,我创建了我的示例“渲染器”类:

代码语言:javascript
复制
class TestRenderer {
    render(id: number, node: HTMLElement) {
        node.innerHTML = `<h1>ELEMENT ${id}</h1>`;
    }
}

和扩展BlockEmbed的普通羽毛笔斑点类

代码语言:javascript
复制
export class TestBlot extends BlockEmbed {
  static blotName = 'test';
  static tagName = 'test-embeded';
  static className = 'test-embeded';

  static create(id: any) {
    const node = super.create();
    node.dataset.id = id;
    RENDERER.render(id, node);


    node.addEventListener('click', (e) => {
      e.preventDefault();
      RENDERER.render(666, node);
    });

    return node;
  }

  static value(domNode: HTMLElement) {
    return domNode.dataset.id;
  }
}

我认为我使用了与官方羽毛笔羊皮纸教程中的twitter-widget tweet-embed类似的方法,但HTML输出有所不同。twitter是从所有的内部HTML中剥离出来的,它很简单:

代码语言:javascript
复制
<twitter-embeded class="twitter-embeded" data-id="464454167226904576" contenteditable="false" style="cursor: pointer;"></twitter-embeded>

我的自定义blot元素看起来像这样:

代码语言:javascript
复制
<test-embeded class="test-embeded" data-id="742878714"><h1>ELEMENT 742878714</h1></test-embeded>

当我手动删除时,<h1>ELEMENT 742878714</h1>编辑器仍然能够识别其内容并正确显示所有内容。这种方式非常低效,我希望避免检查整个Quill HTML内容并从innerHTML中剥离所有自定义元素。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 21:38:33

好吧,看起来像是奇怪的羽毛行为。这只是Quill处理异步请求的方式,所以只需简单地更改为"renderer“类就解决了我的问题:

代码语言:javascript
复制
export class TestRenderer {
    render(id: number, node: HTMLElement) {
        node.innerHTML = ``;
        setTimeout(() => {
            node.innerHTML = `<h1>ELEMENT ${id}</h1>`;
        }, 1000);
    }
}

输出结果与预期一致:

代码语言:javascript
复制
<test-embeded class="test-embeded" data-id="108962878"></test-embeded><p><br></p>

关着的不营业的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56527353

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档