首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用自定义墨迹时,将删除自定义属性

使用自定义墨迹时,将删除自定义属性
EN

Stack Overflow用户
提问于 2017-10-27 19:29:00
回答 1查看 678关注 0票数 1

我为需要能够手动设置reltarget的链接创建了一个自定义污点。但是,当加载具有这些属性的内容时,quill会剥离它们。我不知道为什么。

我创建了一个codepen来说明这个问题。

这是我的自定义污点:

代码语言:javascript
代码运行次数:0
运行
复制
const Inline = Quill.import('blots/inline')

class CustomLink extends Inline {
  static create(options) {
    const node = super.create()
    node.setAttribute('href', options.url)

    if (options.target) { node.setAttribute('target', '_blank') }
    if (options.follow === 'nofollow') { node.setAttribute('rel', 'nofollow') }

    return node
  }

  static formats(node) {
    return node.getAttribute('href')
  }
}

CustomLink.blotName = 'custom_link'
CustomLink.tagName = 'A'
Quill.register({'formats/custom_link': CustomLink})

我必须告诉奎尔允许某些属性吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-28 02:55:48

在从现有的超文本标记语言进行初始化时,奎尔将尝试从它构建数据模型,这是create()value()formats()之间的对称性。考虑到create()是如何实现的,您需要formats()是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
  static formats(node) {
    let ret = {
      url: node.getAttribute('href'),
    };
    if (node.getAttribute('target') == '_blank') {
      ret.target = true;
    }
    if (node.getAttribute('rel') == 'nofollow') {
      ret.follow = 'nofollow';
    }
    return ret;
  }

使用此更改的工作分支:https://codepen.io/quill/pen/xPxGgw

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

https://stackoverflow.com/questions/46973980

复制
相关文章

相似问题

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