我的HTML中有一些自定义标记。
赞<mytag class="atr">text</mytag>
。我想复制整个标签并粘贴相同的标签。当我尝试复制时我只得到文本,我知道编辑器只支持有效的html标签。像复制和粘贴粗体,斜体等,还有其他方法可以让我的自定义标签复制吗?比如使用CKEDITOR或htmlparser的DTD。有什么建议。?
答案 0 :(得分:1)
评论太久了。我不确定此方法是否有效 - 取决于复制和粘贴事件的工作方式。我建议你听一下&#34;粘贴&#34;事件和粘贴期间,您将传入的元素从<xxx>
转换为例如<div class="converted" original="xxx" >
。 xxx可以是任何标签名称,例如mytag或iloveponies。
然后,在保存内容之前,您将检查CKEditor中的数据并将元素转换回其原始状态。算法可能如下所示:
您可以在前端或后端执行此操作,很可能会有可用于此类操作的工具。我猜测前面会更容易。
答案 1 :(得分:1)
您可以为每个自定义标记创建Widget。 别忘了指定allowedContent-和requiredContent-Attributes。 并修改dtd以使标签可编辑。
例如:
CKEDITOR.dtd.$editable['mytag'] = 1;
editor.widgets.add('mytagWidget', {
allowedContent: 'mytag(atr)',
requiredContent: 'mytag',
template: '<mytag class="atr">text</mytag>',
editables: {
text: {
selector: '.atr'
}
},
...