2013-05-07 60 views
0

我花了很多时间与在飞行中CKEDITOR修改CSS规则挣扎。但结果仍然不令人满意:-)。如何(通过jQuery例如)更改CSS样式规则内CKEDITOR

我想选择CKEDITOR的DOM元素,并设置CSS样式。然后我想保存CSS的信息(用于重新使用文档)。

我看过,那最好的办法就是使用jQuery。我试过了,但没有成功。任何想法如何做到这一点?

非常感谢。

回答

2

我认为你可以使用 '数据处理器' 这个:

CKEDITOR.replace('editor1', { 
    on: { 
     pluginsLoaded: function(event) { 
     event.editor.dataProcessor.dataFilter.addRules({ 
      elements: { 
       a: function(element) { 
        var attr = element.attributes; 
        if(attr.href && attr.href.indexOf('#') === -1) { 
        element.attributes.target = '_blank'; 
        } 
       }, 
       // remove script 
       script: function(element) { 
        return false; 
       } 
      } 
     }); 
     } 
    } 
}); 

文档:http://docs.ckeditor.com/#!/api/CKEDITOR.editor-property-dataProcessor

+0

这是从版本4.0。但是我使用ice:inputRichText,它使用了CKEDITOR 3.x.我认为,这不是我的解决方案。 – 2013-05-07 12:47:46

+0

'dataProcessor'在CKEDITOR 3中可用。*。你可以在conf中指定contentsCss吗? – EpokK 2013-05-07 12:50:22

+0

CKEDITOR.instances ['editor1']。document.appendStyleText('span { color:red}');这是有效的,但通过刷新它会丢失,我不知道如何保存以供重新使用。 – 2013-05-07 13:13:28