CKEditor小部件:如何在onLoad中附加CSS

用户名

我正在编写CKEditor小部件。当我试图使其易于分发时,我想将CSS设置为外部。尽管此语法有效:

CKEDITOR.plugins.add('myplugin', {
    requires: 'widget',
    icons: 'myplugin',
    init: function(editor) {
        CKEDITOR.dialog.add('myplugin', this.path + 'dialogs/myplugin.js');
        var self = this;
        editor.on('contentDom', function() {
            editor.document.appendStyleSheet(CKEDITOR.getUrl(self.path + 'css/style.css'));
        });
    }
});

我发现CKSourceonLoad: function(editor){}在其image2小部件中用于附加CSS。这看起来比我的代码更规范。我得到editor = undefined不过。有什么收获?

更新:

我正在使用framed选项,并且我绝对想保持DRY.appendStyleSheet()到面向用户的页面以及wysiwyg Framed编辑器。但是,我仍然对init / beforeInit:function(editor)有问题,那一刻editor似乎没有document填充属性。window.ed = editor不过,这样做后window.ed.document一旦页面准备就绪,便可以在控制台中访问了那么,那里是否存在任何形式的延期承诺?也许我正在使事情复杂化,但是我绝对想附加一个可分发的样式表并轻松删除它。

我发现这个工作:

    beforeInit: function(
        var ccss = CKEDITOR.config.contentsCss;
        if(typeof ccss == 'string'){
            ccss = [ccss];
        }
        ccss.push('/css/style.css'); // <-- my css installed at website root

        CKEDITOR.config.contentsCss = ccss;
        console.log(CKEDITOR.config.contentsCss);
    },

尽管孤立的CSS样式表的问题听起来可能过于复杂,但我希望实现一种易于演示的状态,而无需触摸现有文件。

雷因马

请注意,在image2插件样式表中未将其添加到editor实例,而是使用CKEDITOR.addCss

CKEDITOR.plugins.add( 'image2', {
    ...
    onLoad: function( editor ) {
        CKEDITOR.addCss( ' ... ' );
    }
} );

editor将_指定为参数是一个错误-它将始终为null。

如果要使用手动添加样式表document.appendStyleSheet,请在initbeforeInit不上进行onLoad

虽然如此,您应该知道contentDom一个文档会被多次触发,例如在设置数据时。因此,在您的情况下,样式表将被添加多次。因此,如果要为框架编辑器(使用的样式表)添加样式表,则iframe可以使用config.contentsCss,如果要为内联编辑器添加样式表,则可以自由调用:

CKEDITOR.document.appendStyleSheet( ... );

在插件的onLoad(仅被调用一次)中。因此,很可能您想同时做两件事,以处理嵌入式和框架式编辑器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何在Flutter中为小部件添加边框?

来自分类Dev

如何在python tkinter中重叠窗口小部件/框架?

来自分类Dev

如何在Android Studio中创建小部件?

来自分类Dev

如何在条目小部件中插入当前时间

来自分类Dev

如何在Tkinter中垂直居中小部件?

来自分类Dev

如何在Kivy中防止小部件的大小改变?

来自分类Dev

如何在Kivy中获取小部件/布局的实际大小?

来自分类Dev

如何在SwitchCompat小部件中监听状态变化?

来自分类Dev

如何在MapViewer小部件中显示OrionContextBroker中的实体

来自分类Dev

如何在CKEditor中侦听小部件选择?

来自分类Dev

如何在Qt Creator中锚定小部件?

来自分类Dev

如何在Tkinter文本小部件中创建“加载轮”?

来自分类Dev

如何在Kivy中重置小部件

来自分类Dev

如何在自定义CKEditor小部件中使a标签可编辑?

来自分类Dev

如何在Wordpress中制作多选小部件?

来自分类Dev

如何在GWT UiBinder中引用小部件?

来自分类Dev

如何在GtkGrid中对齐小部件

来自分类Dev

CKEditor如何在小部件中允许href =“ javascript:void(0)”

来自分类Dev

如何在页面对象小部件中嵌入元素

来自分类Dev

如何在gtk3中将特定的CSS类设置为小部件?(C)

来自分类Dev

如何在kivy中删除小部件?

来自分类Dev

如何在QVBoxLayout中循环浏览所有小部件

来自分类Dev

“如何在一行小部件中创建两个文本小部件”

来自分类Dev

如何在voila中的HTML小部件中显示图像

来自分类Dev

如何在行小部件中“垂直”扩展容器小部件

来自分类Dev

如何在gtk中的其他小部件的前面制作小部件

来自分类Dev

如何在GtkGrid中对齐小部件

来自分类Dev

如何在tkinter中的输入小部件中输出结果

来自分类Dev

如何将文本附加到小部件中的 TextView?

Related 相关文章

  1. 1

    如何在Flutter中为小部件添加边框?

  2. 2

    如何在python tkinter中重叠窗口小部件/框架?

  3. 3

    如何在Android Studio中创建小部件?

  4. 4

    如何在条目小部件中插入当前时间

  5. 5

    如何在Tkinter中垂直居中小部件?

  6. 6

    如何在Kivy中防止小部件的大小改变?

  7. 7

    如何在Kivy中获取小部件/布局的实际大小?

  8. 8

    如何在SwitchCompat小部件中监听状态变化?

  9. 9

    如何在MapViewer小部件中显示OrionContextBroker中的实体

  10. 10

    如何在CKEditor中侦听小部件选择?

  11. 11

    如何在Qt Creator中锚定小部件?

  12. 12

    如何在Tkinter文本小部件中创建“加载轮”?

  13. 13

    如何在Kivy中重置小部件

  14. 14

    如何在自定义CKEditor小部件中使a标签可编辑?

  15. 15

    如何在Wordpress中制作多选小部件?

  16. 16

    如何在GWT UiBinder中引用小部件?

  17. 17

    如何在GtkGrid中对齐小部件

  18. 18

    CKEditor如何在小部件中允许href =“ javascript:void(0)”

  19. 19

    如何在页面对象小部件中嵌入元素

  20. 20

    如何在gtk3中将特定的CSS类设置为小部件?(C)

  21. 21

    如何在kivy中删除小部件?

  22. 22

    如何在QVBoxLayout中循环浏览所有小部件

  23. 23

    “如何在一行小部件中创建两个文本小部件”

  24. 24

    如何在voila中的HTML小部件中显示图像

  25. 25

    如何在行小部件中“垂直”扩展容器小部件

  26. 26

    如何在gtk中的其他小部件的前面制作小部件

  27. 27

    如何在GtkGrid中对齐小部件

  28. 28

    如何在tkinter中的输入小部件中输出结果

  29. 29

    如何将文本附加到小部件中的 TextView?

热门标签

归档