试过这个,但没有运气
editor.addCss(this.path + 'tabber.css');
editor.document.appendStyleSheet(this.path + 'tabber.css');
完整代码
(function () {
CKEDITOR.plugins.add('tabber',{
init: function (editor) {
editor.ui.addButton('addTab',{
command: 'addTab',icon: this.path + 'icons/tabber.png',label: Drupal.t('Insert tabs')
});
editor.addCss(this.path + 'tabber.css');
editor.document.appendStyleSheet(this.path + 'tabber.css');
editor.addCommand('addTab',{
exec: function (editor) {
editor.insertHtml('
在init中解决方案(感谢指出正确方向的答案)
var cssPath = this.path + 'tabber.css';
editor.on('instanceReady',function () {
this.document.appendStyleSheet(cssPath);
});
最佳答案
CKEDITOR.addCss
接受字符串作为参数,因此无法在那里传递任何路径. CKEDITOR.document.appendStyleSheet
是正确的(fiddle):
CKEDITOR.replace( 'editor',{
on: {
instanceReady: function() {
this.document.appendStyleSheet( 'http://path.to.your.css' );
}
}
} );
请确保:
>你的CSS存在.
>它具有正确的读取权限.
>您的HTML是allowed in the editor(也是从4.1开始读取integration guide,您需要为您的命令调整allowedContent).
我想你也可能会发现CKEDITOR.getUrl很有用.