在 CKEDITOR 4.0 中复制和粘贴自定义标记
Copy & Paste custom tags in CKEDITOR 4.0
我的HTML中有一些自定义标签。
喜欢<mytag class="atr">text</mytag>
.我想复制整个标签并粘贴相同的标签。当我尝试复制时,我只得到文本,我知道编辑器将仅支持有效的 html 标签。像复制粘贴粗体,斜体等,有没有其他方法可以使我的自定义标签复制?比如使用 CKEDITOR 或 htmlparser 的 DTD。有什么建议吗?
太长了,无法发表评论。我不确定这种方法是否有效 - 取决于复制和粘贴事件的工作方式。我建议您侦听"粘贴"事件,并在粘贴过程中将传入元素从<xxx>
转换为例如<div class="converted" original="xxx" >
。xxx 可以是任何标签名称,例如 mytag 或 iloveponies。
然后,在保存内容之前,您检查来自CKEditor的数据并将元素转换回其原始状态。该算法可能如下所示:
- 从 CKEditor 获取数据
- 从数据中循环遍历每个 DIV 元素
- 检查元素是否具有 .convert 类
- 如果没有,请不要对它做任何事情
- 如果是,请获取其"原始"属性的值 (xxx)
- 将元素从 DIV 转换回 XXX
- 继续保存数据
您可以在前端或后端执行此操作,很可能两者都有可用于此类操作的工具。我猜前面会更容易。
您可以为每个自定义标签创建一个小部件。不要忘记指定允许的内容和必需的内容属性。并修改 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'
}
},
...
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 在自定义mean.io包中使用angular-chart.js作为依赖项
- jQuery自定义验证比较多个输入的序列
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 在wordpress一定时间后更改自定义字段
- 表达式引擎扩展开发-向呈现的条目添加自定义javascript
- 自定义函数中的光标位置
- 用于检查数组中是否存在元素的javascript自定义方法
- 防止我的自定义WordPress主题被复制
- 自定义右键单击UI上下文菜单(复制、粘贴、剪切)用于整个应用程序(所有网页)跨所有浏览器而非单个网页
- 在 CKEDITOR 4.0 中复制和粘贴自定义标记
- 如何防止jQuery扩展深度副本复制我的一些自定义属性
- 如何通过自定义上下文菜单将文本复制到剪贴板(不带flash/加载项)
- 自定义选择功能,复制到剪贴板纯JS
- 需要复制谷歌电子表格(自定义公式)和链接的谷歌表单
- 如何在JavaScript中深度复制自定义对象
- 简单的标签与CSS和jQuery -自定义&复制
- 用javascript复制自定义json对象到剪贴板
- 如何在自定义上下文菜单中添加复制链接位置
- 如何从表单中的所有输入复制自定义属性,然后再赋值回来