我使用CKEditor已经有一段时间了,它工作得很好。我几乎已经摆脱了我曾经遇到的所有问题,但这一点我似乎搞不懂。当我向元素添加内联属性时,例如<p></p>
标记上的style = "color: #ff0;"
,当我从所见即所得切换到源代码视图时,这些属性就会被删除。没有保存或提交,ckeditor已添加到我的网站,这是我自己的脚本。任何可能导致这种情况的想法。我能找到的所有搜索结果都对应于Drupal中发生的这种情况,但问题似乎是Drupal,而不是所有情况下的编辑器。再次感谢!
发布于 2013-04-02 15:19:36
感觉您使用的是Advanced Content Filter (ACF)自带的CKEditor 4.1+。如果是这样的话,你需要指定config.allowedContent
和configure it来让你的东西正常工作。您也可能对config.extraAllowedContent
感兴趣。
有关更多详细信息,请参阅this answer。
发布于 2014-02-19 22:43:35
如果您正在寻找一个简单的示例,了解如何在不完全禁用ACF的情况下在CKEditor中启用额外的标记,这里有一个简短的片段:
CKEDITOR.replace( 'editor1', {
extraAllowedContent: 'style;*[id,rel](*){*}'
} );
此处的extraAllowedContent启用<style>
元素,允许所有(*
是通配符)已经允许的元素具有两个额外的属性(在方括号中),允许对它们使用任何类名(*)
,并允许使用任何内联样式{*}
发布于 2014-03-13 15:10:23
您好,您可以很容易地停止ACF。默认情况下,您的配置是
function ckeditor($name,$value='',$height=300){
return '<textarea name="'.addslashes($name).'">'.htmlspecialchars($value).'</textarea>
<script>$(function(){CKEDITOR.replace("'.addslashes($name).'",{});});</script>';
}
只需在花括号中添加以下内容:
allowedContent: true
现在,您的配置将是:
function ckeditor($name,$value='',$height=300){
return '<textarea name="'.addslashes($name).'">'.htmlspecialchars($value).'</textarea>
<script>$(function(){CKEDITOR.replace("'.addslashes($name).'",{allowedContent: true});});</script>';
}
https://stackoverflow.com/questions/15753956
复制相似问题