ツールバーのバグ
FCKeditorのツールバーで改行を指定すると、IEではツールバーのレイアウトが崩れてしまう。
ツールバーはコア部分で表示しているので、修正するのは FCKeditor/editor/js/fckeditorcode_ie.js のはずだ。
しかしこのファイルは、ダウンロード時間短縮のためパッケージング(ダウンロード最適化)されており、簡単には修正できない。
パックされるファイルは、FCKeditor/editor/_source/ の中に一式そろっているので、これを修正してパッケージングすればよい。
今回は、コア部分の修正方法と、上記デバッグを紹介する。
ツールバーのデバッグ
事前にFirefoxの DOM Inspector で調査したところ、ツールバーの改行は、div タグの clear: left で実現しているようだ。
clear をキーワードに _source ディレクトリのスクリプトを検索したところ、fcktoolbarbreak_ie.js にバグが見つかった。
FCKToolbarBreak.prototype.Create = function( targetElement )
{
var oBreakDiv = FCKTools.GetElementDocument( targetElement ).createElement( 'div' ) ;
//oBreakDiv.className = 'TB_Break' ; // !!! bug !!!
//oBreakDiv.style.clear = FCKLang.Dir == 'rtl' ? 'left' : 'right' ; // !!! bug !!!
oBreakDiv.style.clear = FCKLang.Dir == 'rtl' ? 'right' : 'left' ; // !!! debug !!!
targetElement.appendChild( oBreakDiv ) ;
}
fcktoolbarbreak_gecko.js に合わせて修正したところ、あっさり直った。
次はパッケージングを行う。
パッケージャのダウンロード
パッケージャは Microsoft.net 1.1 か 2.0 用のものがダウンロード可能だ。以下からダウンロードして解凍する。
FCKeditor の各バージョン用があるので注意すること。
パッケージング
解凍したフォルダの中にある FCKeditor.Packager.exe を、適当なディレクトリに保存する。
コマンドプロンプトで作業する必要があるので、C:FCKeditor 等のフォルダを作るのが便利だ。
後はそのフォルダで以下のコマンドを実行する。
FCKeditor.Packager C:InetpubwwwrootFCKeditor
C:InetpubwwwrootFCKeditor の部分は各自の設置ディレクトリに置き換えてください。
これで完了。
デバッグ完了