我需要使用 ckEditor 在加载时动态更改背景颜色,该页面是一个动态加载页面,用户具有特定的背景颜色。我无法加载它具有的 css ...
我需要使用 ckEditor 在加载时动态更改背景颜色,该页面是一个动态加载页面,用户具有特定的背景颜色。我无法加载 css,它只能是编辑器主体的背景颜色
所以我尝试了
window.onload=function(){
CKEDITOR.instances.editor_data.addCss( 'body { background-color: #efefef; }' );
}
我没有收到错误,但也没有收到任何更改
我也试过了
CKEDITOR.instances.editor_data.addCss( '#cke_editor_data { background-color: #efefef; }' );
@AlfonsosML 的第二个答案非常适合定位编辑器的 body 元素。但是我需要定位编辑器中的 a 标签,发现他的第一个答案破坏了它。然后我尝试了 @Doin 在评论中提供的解决方案:editor.document.addCssText(),但也失败了。@Doin 已经好心地将评论中的代码更正了, editor.document.appendStyleText()
但它被隐藏在上面。我给他的更正投了“有用”一票,希望其他人能更快地看到它。这对我有用。我的工作代码混合了两个:
CKEDITOR.on('instanceReady', function(e) {
// First time
e.editor.document.getBody().setStyle('background-color', 'rgba(0,0,0,0.59)');
e.editor.document.getBody().setStyle('color', 'white');
e.editor.document.getBody().setStyle('text-align', 'center');
e.editor.document.appendStyleText( 'a { color: white; }' );
// in case the user switches to source and back
e.editor.on('contentDom', function() {
e.editor.document.getBody().setStyle('background-color', 'rgba(0,0,0,0.59)');
e.editor.document.getBody().setStyle('color', 'white');
e.editor.document.getBody().setStyle('text-align', 'center');
e.editor.document.appendStyleText( 'a { color: white; }' );
});
});
谢谢