在创建 CKEditor 实例时,我并没有真正了解 allowedContent
设置的语法。我见过一些用 ;
“分隔”元素组的示例,但我找不到为什么需要这样做的解释。
该文档包含一个示例规则,类似于 p h1;一个[!href]; *[id]
。编写相同但不带分号 p h1 a[!href] *[id]
会有什么区别?
最佳答案
在以下情况下,您允许 p
和 h1
元素不带属性,而 a
仅在具有 href
时才允许>:
p h1; a[!href]
没有分号如何获得相同的结果?让我们看看以下语法是否有效:
p h1 a[!href]
有两种可能的解析方式:
- 我们想要的方式,
- 所有 3 个标签都需要
href
(这没有意义)。
我们当然想选择第一个选项。这意味着只有直接位于 [!href]
部分之前的标签名称与其相关,所有其他标签没有属性。但这意味着你不能这样做:
p h1; link a[!href]
当前的allowedContent
语法允许您说link
和a
具有相同的属性、类和样式集。如果没有分号,这是不可能的。
关于javascript - CKEDITOR 中 allowedContent 的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30510073/