事の発端は、別件でJQueryでCKEditorをgetScriptしたことだった。
現象としては、pluginが読み込めなかった。
その時は、前回紹介したこちらではなく、本家ドキュメントから回避方法に辿り着いた。
ちなみに発生シナリオとしては、
- ckeditor.js又は_basic.js何れかのエディタ本体を読み込む
- 相対パス指定?されているリソースを読み込む
- JSなどのエラー発生
回避方法は、CKEDITOR_BASEPATHか、CKEDITOR_GETURLの2つ。
CKEDITOR_BASEPATHには、エディタの基準URLパスを指定する。
CKEDITOR_GETURLは、エディタで読み込むリソースのURLを取得する関数。
別件では、CKEDITOR_GETURLのみで回避した。
この関数は、ckeditor*.jsより前処理でグローバル定義しておかなければならない。実際の実装は、
などとした。var CKEDITOR_BASE_URL = '/assets/js/ck/'; function CKEDITOR_GETURL( resource ) { return resource.indexOf(CKEDITOR_BASE_URL) != 0 ? CKEDITOR_BASE_URL+resource : resource; }
これで、CKEditor自身が迷子になっても正しいリソースURLを指し示せる。
それにしても、CKEditorのNewbie Developer向けドキュメント整備具合はTinyMCEに遠く及ばないことを痛感した。
API Docなんて飾りです。偉い人にはわからんのですよ。
0 件のコメント:
コメントを投稿