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を制御することも可能になる。