FCKeditor は、多機能であるため、起動時に若干時間がかかる。
この時にリンクボタンなどを押されると、スクリプトの読込みが中断され、エラーが表示される場合がある。
また、ユーザーインターフェイスとして、準備中であることを表示したい場合もあると思う。
この場合、以下の方法が良いと思う。
(1) FCKeditor起動時に画面をロックする。
(2) FCKeditor起動完了時に画面のロックを解除する。
ここで問題となるのがFCKeditor起動完了の検出だ。
実は、簡単に検出する方法がある。
FCKeditorを呼び出すページで以下のようにFCKeditor_OnComplete関数を定義しておく。
function screen_lock( msg ) { 画面ロック } function screen_unlock() { 画面ロック解除 } window.onload = function() { screen_lock( '準備中です...' ) ; var oEditor = new FCKeditor( 'comment' ) ; ... oEditor.ReplaceTextarea() ; } var oFCKeditorInstance ; function FCKeditor_OnComplete( editorInstance ) { screen_unlock() ; // 画面のロック解除 oFCKeditorInstance = editorInstance ; }
FCKeditorの初期化が完了した時点で、FCKeditor_OnComplete関数が定義されていれば呼び出される。
FCKeditorのインスタンスが渡されるので、FCKeditorAPIを使ってFCKeditorを制御することも可能になる。