2010-02-17 39 views
4

是否可以動態更改加載的ckeditor實例樣式表?如何更改ckeditor初始化後加載的樣式表

即我有以下配置一個CKEditor的實例: CKEDITOR.replace( '_內容',{ 「resize_enabled」:真 「customConfig」: 「/ KMT/JS/ckeditor_config.js」, 「contentsCss」: 「/custom/ckeditorstyle.css","contentWidth":"240」});

不是很複雜。之後,我想讓用戶動態更改contentscss屬性...

回答

3

感謝名單到佩卡,我通過取得的溶液:

$('#stylesheeetSelector').change(function() { 
    $.post('/getStylesheet', {id: $(this).val()}, function(data) { 
     for(i in CKEDITOR.instances) { 
      var linkElement = $(CKEDITOR.instances[i].document.$).find('link'); 
      if (data.editorStylesheet > 0) { 
       if (linkElement.length == 0) { 
        $(CKEDITOR.instances[i].document.$).find('head').append('<link rel="stylesheet" type="text/css" href="'+ data.editorStylesheet +'">'); 
       } else { 
        linkElement.attr('href', data.editorStylesheet) 
       } 
      } else if (linkElement.length > 0) { 
       linkElement.remove(); 
      } 
     } 
    }); 
}); 

它通過獲取填充有(amoungst其它東西)的樣式表的URL和設置JSON對象(或者如果沒有存在刪除)所選擇的樣式表...

清潔和簡單!

+0

非常好,謝謝分享! – 2010-02-17 14:36:30