DB から取得したスタイルを使用して、オンザフライで CKEditor のスタイル ドロップダウンを設定および再設定したいと考えています。JQuery を使用して動的に設定しようとすると問題が発生します。ここに馬鹿げたシナリオがあります:
たとえば、横に追加のドロップダウンを指定して CKEditor を使用します。ドロップダウン メニューには、クール、ウォーム、ホットのスタイル セットのリストがあります。
ユーザーがスタイルを選択すると、DB から対応するスタイルを取得し、配列を作成して、セットに関連付けられたスタイルで CKEditor の既定のスタイル ドロップダウンを変更します。
現在、それを機能させることができた唯一の方法は、CKEditor のインスタンスを破棄し、スタイルを使用して新しいインスタンスを再インスタンス化することです。
var editor = $('#editor').ckeditorGet();
editor.destroy();
if(set == "cool"){
//AJAX Call to get styles from DB.....
//loop through results and build styleArray
CKEDITOR.stylesSet.add('cold', styleArray);
$('#editor').ckeditor( function() { /* callback code */ },
{
stylesSet: 'cold'
});
}
...
ドロップダウンの現在のスタイルをクリアして、エディターを破壊せずに再設定する方法はありますか? UI が一時停止し、エディターの死と再生を待つ必要がある場合、UX はジャッキアップされます。