我使用CKeditor编辑丰富的HTML页面,但是一些javascript功能依赖于<a>触发它们的标签的特殊属性.
这些情况很少见,只有5000多条记录的数据库上的一些记录需要触发此功能,而这个特定的js模块需要特殊的属性作为参数化的一种方式:
<a href="#" data-from="ROM" data-to="NYC" data-promo="8373794">Buy your tickets</a>
Run Code Online (Sandbox Code Playgroud)
CKeditor允许我添加这些属性(通过编辑条目的源代码),但是当客户端编辑页面时,编辑器会删除它们并中断该功能.
指示我的客户不要编辑此特定记录似乎不专业.换到另一个WYSIWYG编辑器可能会有效,但我认为这是最后的选择.
CKEditor必须有一个解决方案!
Seb*_*oli 10
我找到了:
特殊配置选项:
extraAllowedContent: '*[*]{*}(*)'
Run Code Online (Sandbox Code Playgroud)
做了伎俩.
所以我使用的构造函数是:
$('.wysiwyg').ckeditor({
toolbar : 'Basic',
extraAllowedContent: '*[*]{*}(*)'
});
Run Code Online (Sandbox Code Playgroud)
请注意,它是"EXTRA"允许的内容选项,因此它不会覆盖默认值.
更新:事实证明我的特殊属性有一些&,并且CKEditor用HTML实体替换它们&.我添加了以下两个选项:
entities: false,
basicEntities: false,
Run Code Online (Sandbox Code Playgroud)
但是他们阻止了这种情况发生在文本节点中,而不是在属性内部.然后我找到了这个选项:
forceSimpleAmpersand: true
Run Code Online (Sandbox Code Playgroud)
它起作用了.它现在也没问题,但如果最终我必须把它&作为任何价值的一部分 - 实体,而不仅仅是(通常在内容共享链接中需要) - 编辑器会破坏它们,将它们改为平原&.
| 归档时间: |
|
| 查看次数: |
2552 次 |
| 最近记录: |