2011/06/12

CKEditorを自分色に染める(3)

前回のckeditor_basic.jsネタのところで、但し書きを入れた話。
事の発端は、別件でJQueryでCKEditorをgetScriptしたことだった。
現象としては、pluginが読み込めなかった。
その時は、前回紹介したこちらではなく、本家ドキュメントから回避方法に辿り着いた。

ちなみに発生シナリオとしては、
  1. ckeditor.js又は_basic.js何れかのエディタ本体を読み込む
  2. 相対パス指定?されているリソースを読み込む
  3. 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 件のコメント: