我需要使用 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; }' );
如果您在 window.load 期间调用它,那么就太晚了, addCss 定义了在创建编辑器时要加载的一些 css,但它不会修改正在运行的实例。
因此你可以这样做(仅使用 addCSS):
CKEDITOR.on('instanceCreated', function(e) {
e.editor.addCss( 'body { background-color: red; }' );
});
或者这个(处理已编辑文档的更通用的方法)
CKEDITOR.on('instanceReady', function(e) {
// First time
e.editor.document.getBody().setStyle('background-color', 'blue');
// in case the user switches to source and back
e.editor.on('contentDom', function() {
e.editor.document.getBody().setStyle('background-color', 'blue');
});
});