2013-03-14 155 views
0

我試圖設置一些CSS到編程的CKEDITOR 4。 這是因爲,當一個新用戶來到編輯器時,我想用另一種顏色來識別他。CKEDITOR添加造型

在註冊的樣式數組中,我看到了添加的行(CKEDITOR.stylesSet.registered.user0)。但風格在編輯器中不可見? 這是爲什麼?我做錯了什麼?

setStyling: function(editor) 
{ 
    var userIds = this.getUserIds(editor);// returns an array with id's 
    var colors = editor.config.Colors; // Colors are set in the config 

    for(var i = 0; userIds.length > i; i++) 
    { 
     if(CKEDITOR.stylesSet.get('user' + i) === null) 
     { 
      CKEDITOR.stylesSet.add('user' + i, [ 
       { name: 'userColor', element: 'span[data-uid="' + userIds[i] +'"]', styles: { color: colors[i] }} 
      ]); 
     } 
    } 
} 
+0

我注意到CKEDITOR.stylesSet.loaded不顯示我的外接CSS – spons 2013-03-14 09:29:42

回答

1

另一種形式給出做的工作:

var $head = $("iframe").contents().find("head"); 
    var $style = $("iframe").contents().find("#uniqueStyle"); 
    var css = ""; 

    for(var i = 0; userIds.length > i; i++) 
    { 
     css += "span[data-uid='" + userIds[i] + "'] { color: " + colors[i] + "; } "; 
    } 

    if($style) 
    { 
     $style.remove(); 
    } 

    $('<style id="uniqueStyle" type="text/css"></style>') 
     .html(css) 
     .appendTo($head);